Dans le cadre de w3c schéma, ce n'est permis que de faire un "markup" lié à la validation (xsi:type) dans l'instance du document xml en outre.
[1] Dans le document xml, c'est fait comme ça.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <libellenom xsi:type="type1">
<ss_nom1 />
<ss_nom2>str1234</ss_nom2>
</libellenom>
<libellenom xsl:type="type2">
<ss_nom1 />
<ss_nom2 />
<ss_nom3 />
<ss_nom4 />
</libellenom>
<libellenom xsi:type="type3">
<ss_nom1 />
<ss_nom2 />
</libellenom> |
[1.1] Pourqu'on puisse référencier le préfixe xsi plus éfficacement, dans la racine on fait la déclaration nécessaire :
<xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
[1.2] Juste une chose à côté, la balise nommée "xml" j'ai intention de faire une remarque : mais finalement j'opte à se taire et ce n'est pas la place de le faire et je passe.
[2] Dans le schéma, on fait comme ça pourqu'il marche.
1 2 3 4 5 6
| <!-- CONTENT -->
<xs:complexType name="ContentType">
<xs:sequence>
<xs:element name="libellenom" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType> |
et laisse le reste tranquille.
[2.1] Voyez qu'on éffectivement laisse libellenom sans l'attribut de type explicitement ce que signifie il est d'un type d'ou tous les types dérivent. Dans une instance du document, le concepteur doit mettre le "markup" comme dit en haut si encore que le concepteur a l'intention de le faire valider au sens le plus strict, le premier type1, le deuxième type2 etc.
Partager