[1] D'abord, le xml de META_DATA n'est pas un document xml bien-formé, j'espère c'est juste des erreurs de frappe?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <META_DATA>
<DATA>
<NAM>PERMIS_DE_CONDUIRE</NAM>
<VAL>A</VAL>
<TYP>string</TYP>
</DATA>
<DATA>
<NAM>DATE_NAISSANCE</NAM>
<VAL>1960-04-21</VAL>
<TYP>date</TYP>
</DATA>
<DATA>
<NAM>POIDS</NAM>
<VAL>79</VAL>
<TYP>BIGINT</TYP>
</DATA>
</META_DATA> |
[2]
l'élément DATA est constitué d'au moins une occurrence et au plus d'un nombre quelconque
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
Le dernière n'est pas une réalisation du premier, non. Il faut enlever les facet maxOccurs ou le mettre à 1 (valeur à défaut) ou bien mieux enlever à la fois minOccurs et maxOccurs tout simplement.
Si vous voulez dire l'élément DATA pourvoir se répéter multiple de fois, le facet cardinal s'écrit quand l'élément lui-même s'est défini.
<xsd:element name="DATA" type="DATA" maxOccurs="unbounded" />
[2.1] C'est acceptable d'avoir un xs:element nommé DATA et un xs:complexType nommé DATA; mais si vous feriez plus tard quelque développement comme mapping schema élément et l'objet, ça pourrait donner quelque complication supplémentaire. Il vaut mieux peut-être nommer le dernier DATAType ou quelque nom de ce genre.
[3]
Pour ce qui est de ce troisième élément (TYP), celui ci doit être de type string et ne peut avoir que les valeurs suivantes :
DATE, DATETIME2(0), TIME, FLOAT, BIGINT, VARCHAR(256), NVARCHAR(256), BIT
Vous pouvez le faire simplement comme ça.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <xs:element name="TYP">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DATE" />
<xs:enumeration value="DATETIME2(0)" />
<xs:enumeration value="TIME" />
<xs:enumeration value="FLOAT" />
<xs:enumeration value="BIGINT" />
<xs:enumeration value="VARCHAR(256)" />
<xs:enumeration value="NVARCHAR(256)" />
<xs:enumeration value="BIT" />
</xs:restriction>
</xs:simpleType>
</xs:element> |
[3.1] Si vous contemplez à utiliser xs:unque, il faut prepare le composant de schema pour sqltype etc... je ne vois pas ça nécessaire et prêt pour le moment.
[3.2] En ce qui concerne ref="VARCHAR(256)" etc... ce n'est pas la mode d'emploi de l'attribut "ref" et c'est simplement incorrect.
Partager