xml schema

xml schema - XML/XSL - Programmation

Marsh Posté le 22-11-2007 à 00:42:04    

bonjour,
comment je pourrai rendre la valeur du name unique dans plusieurs balises de la meme balise parentes
 le name dans group ids 1 ne dois etre unique, aussi dans id 2
exemple  
<group ids="1">
   <class name="min">
   <class name="mad">
   <pid name="siz">
</group>
 
<group ids="2">
   <class name="min">
   <class name="mad">
   <pid name="siz">
</group>
 
cet exemple est faux
 
<group ids="1">
   <class name="min">
   <class name="min">
   <pid name="siz">
</group>
 
<group ids="2">
   <class name="min">
   <class name="siz">
   <pid name="siz">
</group>
 
avec xsd:key je peux rendre la balise name par rapport ala balise parente mais pas plusieur balise regroupe dans une seul comme dans mon exemple
un idee?

Reply

Marsh Posté le 22-11-2007 à 00:42:04   

Reply

Marsh Posté le 22-11-2007 à 10:19:26    

Je connais pas de moyen de le faire, pour ce genre de validations dynamiques je conseillerais plutôt de passer par Schematron, il est fait pour ça.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-11-2007 à 15:52:11    

si j'ai trouvé la solution il faut lui dire dans xpath que les sous elements soient uniques
 <xsd:element name="group" type="group">
  <xsd:key name="group-unique">
   <xsd:selector xpath=".//." />
   <xsd:field xpath="@name" />
  </xsd:key>
 </xsd:element>
 
et donc tous les attribues name enfants de group dans mon cas class et pid seront unique


Message édité par daewoos le 22-11-2007 à 15:54:34
Reply

Marsh Posté le 22-11-2007 à 15:52:54    

joli :jap:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed