XLM-XSD:liste atrtributs obligatoire+n'importe quel autre

XLM-XSD:liste atrtributs obligatoire+n'importe quel autre - XML/XSL - Programmation

Marsh Posté le 10-08-2005 à 18:44:36    

Bonjour,
 
J'aimerais définir dans ma XSD que dans ma balise <attributes> il y'ait de facon obligatoire un certain nombre d'<attribute name="attributeObligatoire"></> obligatoire et la possiblité d'en ajouter d'autre sans contrainte.
 
Ex:  

<attributes>
  <!-- attribut obligatoire -->
  <attribute name="DESCRIPTION">Thomas Manson</attribute>
  <attribute name="ADMIN">true</attribute>
  <attribute name="UG">SG01</attribute>
  <attribute name="MAIL">monmail@toto.fr</attribute>
 
  <!-- autre attribut -->
  <attribute name="qdhglgfqsdgsd1">sdfg3jksdgmjmsgdjl</attribute>
  <attribute name="qdhglgfqsdgsd2">sdf2gjksdgmjmsgdjl</attribute>
  <attribute name="qdhglgfqsdgsd3">sd1fgjksdgmjmsgdjl</attribute>
</attributes>


 
 
pour l'instant j'ai ca (je ne vous le cache pas, je fait ca avec XMLSpy):  
 
 

<xs:element name="attribute">
  <xs:complexType mixed="true">
   <xs:attribute name="name" use="required">
    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="DESCRIPTION"/>
      <xs:enumeration value="ADMIN"/>
      <xs:enumeration value="MAIL"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>
  </xs:complexType>
 </xs:element>


 
 
mais je pense pas que ca soit la bonne direction a prendre.
 
Y'aurait'il un gourou du XSD dans l'assistance?
 
Merci,
Paquerette


Message édité par paquerette le 11-08-2005 à 11:00:17
Reply

Marsh Posté le 10-08-2005 à 18:44:36   

Reply

Marsh Posté le 11-08-2005 à 00:02:42    

[:herencia]

Reply

Marsh Posté le 11-08-2005 à 09:49:28    

[:herencia]

Reply

Marsh Posté le 11-08-2005 à 10:49:52    

g trouvé !
avec une expression régulière simple...
 
 

<xs:element name="attribute">
  <xs:complexType mixed="true">
    <xs:attribute name="name" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="DESCRIPTION|ADMIN|MAIL|.*"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>


Message édité par paquerette le 11-08-2005 à 10:51:42
Reply

Marsh Posté le 11-08-2005 à 11:00:49    

erf non, ca va pas... ca ne rend pas les attributs description admin et mail obligatoire :'(

Reply

Marsh Posté le 11-08-2005 à 11:43:24    

bon ben j'ai opté pour la solution suivante :
 
<user>
 <description/>
 <admin/>
 <mail/>
 <attributes/>
</user>
 
et je rends obligatoire les 3 premiers éléments.

Reply

Marsh Posté le 11-08-2005 à 14:05:23    

ah, finalement j'ai trouvé :)
 
avec le tag any...
 
 
<xs:element name="attribute">
  <xs:complexType mixed="true">
   <xs:attribute name="name" use="required">
    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="DESCRIPTION"/>
      <xs:enumeration value="ADMIN"/>
      <xs:enumeration value="MAIL"/>
      <xs:any minOccurs="0"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>
  </xs:complexType>
 </xs:element>


Message édité par paquerette le 11-08-2005 à 14:05:51
Reply

Marsh Posté le 11-08-2005 à 14:06:16    

je sais pas pourquoi, je me sens un peu seul :p

Reply

Sujets relatifs:

Leave a Replay

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