Comment mettre « nécessaire » un champ dans la création XSD?
-
28-10-2019 - |
Question
J'écrire un certain fichier XSD pour la communication webservice entre une application et sharepoint .. Je suis en train de faire mes paramètres « nécessaire », mais même si je mets minOccurs à 1, ils pourraient être non précisé ..
Comment puis-je résoudre ce problème? Voici une de mes XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="RemoveGroup"
targetNamespace="http://tempuri.org/RemoveGroup.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/RemoveGroup.xsd"
xmlns:mstns="http://tempuri.org/RemoveGroup.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="RemoveGroup">
<xs:complexType>
<xs:sequence>
<xs:element name="tt_group_id" type="xs:long" />
<xs:element name="tt_network_id" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
J'espère qu'il y est une façon de ne pas écrire de désirent une relation "si (input.Parameter! = Null)" ...
La solution
Utilisation minOccurs="1"
soit au niveau <element/>
ou <sequence/>
est la bonne chose à faire. Quelle est l'erreur spécifique que vous obtenez?
UPDATE
En fait, dans un parseurs <sequence/>
devrait attendre exactement une instance d'un élément
UPDATE
Votre analyseur peut être Emitting erreurs que les événements dont vous avez besoin pour poignée afin de capturer les erreurs - beaucoup parseurs communes ont ce comportement.
Quelque chose qui pourrait provoquer une erreur est une valeur nulle dans le type simple long
- ce type ne permet pas des blancs. Si vous voulez indiquer que les valeurs NULL sont autorisées, vous devez utiliser l'espace de nom nil=true
http://www.w3.org/2001/XMLSchema-instance
.