Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1557 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Strcture dynamique à traiter avec XSD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Strcture dynamique à traiter avec XSD

n°1446727
esox_ch
Posté le 24-09-2006 à 11:31:35  profilanswer
 

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:

Code :
  1. <root>
  2. <structure>
  3.    <id>
  4.     <type>int</type>
  5.    <required>1</required>
  6.    </id>
  7.    <fils>...</fils>
  8.    <autre>...</autre>
  9. </structure>
  10.   <element>
  11.    <id>1</id>
  12.    <fils>...</fils>
  13.    <autre>...</autre>
  14. </element>
  15. </root>


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 :jap:


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
mood
Publicité
Posté le 24-09-2006 à 11:31:35  profilanswer
 

n°1453443
tegu
Posté le 06-10-2006 à 15:34:24  profilanswer
 

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.

n°1473992
esox_ch
Posté le 11-11-2006 à 19:33:12  profilanswer
 

Merci bien, je viens de voir ton message avec un certain retard :D Je vais tenter d'implémenter tout ça :)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Strcture dynamique à traiter avec XSD

 

Sujets relatifs
Dojo : page dynamiqueVBA : actualisation tableau croisé dynamique
Perl et XSD[Resolu] Formulaire dynamique avec checkboxs
menu dynamique kshtexte dynamique
[JavaScript] Liste dynamique dans un formulaire SELECT[Resolu] Débutant swing : interface graphique dynamique
[XML/XSD/DTD] Comment valider un fichier XML avec une DTD ET un schema[JSP/Servlet/Struts] barre de menu dynamique en Web
Plus de sujets relatifs à : Strcture dynamique à traiter avec XSD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR