Strcture dynamique à traiter avec XSD - XML/XSL - Programmation
Marsh Posté le 06-10-2006 à 15:34:24
Je pense qu'il faut passer par la création d'un type complexe
En général j'ai ça au début de mes XSD ; tu adapteras en fonction de tes propres déclarations.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
voici ce que je te propose
<xsd:complexType name="elt_struct_type">
<xsd:sequence>
<xsd:element name="id" type="idType" minOccurs="1" maxOccurs="1" />
<xsd:element name="fils" type="filsType" minOccurs="1" maxOccurs="1" />
<xsd:element name="autre" type="autreType" minOccurs="1" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
Il faut déclarer idType, filsType et autreType, en tant que nouveaux complexType.
Avec ensuite une déclaration des éléments <structure> et <element> (celui-là je te conseille de trouver un autre nom, parcequ'entre ton <element> et le <xsd:element> servant à la déclaration xsd, je pense que tu vas te paumer)
<xsd:element name="structure" type="elt_struct_type" minOccurs="1" maxOccurs="1" />
<xsd:element name="element" type="elt_struct_type" minOccurs="1" maxOccurs="1" />
Bien évidemment il faut remettre ça dans le contexte de ton schema global.
J'ai fait ça rapidos ; j'espère que ça va t'aider un peu.
Marsh Posté le 11-11-2006 à 19:33:12
Merci bien, je viens de voir ton message avec un certain retard Je vais tenter d'implémenter tout ça
Marsh Posté le 24-09-2006 à 11:31:35
Bonjour,
Afin de pouvoir valider certains fichiers XML avant de les envoyer à un parseur, j'ai besoin d'écrire un fichier XSD.
Voila mon problème :
XML:
Donc le principe du XSD doit être que <structure> peut contenir des elements quelconques, 1 de chaque type (j'entend par la, 1 seul element id par exemple), ceux-ci devant contenir obligatoirement les elements <type> et <required>. Et pour finir, que les elements contenu dans <element> doivent être les mêmes que ceux de structure...
Pour le moment j'ai écris un "embryon" de fichier mais je me trouve déjà confronté à plusieurs problèmes (par exemple qu'il est interdit de mettre un tag <element> dans <any>, ou que je sais pas comment lui dire que confronter les fils de "element" et ceux de "structure" )
Merci d'avance pour votre aide
Message édité par esox_ch le 24-09-2006 à 11:32:00
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait