2010-07-23 29 views
0

En utilisant XSD, est-il possible de contraindre le texte total dans un nœud. Dans l'exemple ci-dessous, je souhaite que le contenu du nœud d'adresse soit limité à 255 caractères.Comment contraindre le contenu Xml à une longueur spécifique en utilisant les restrictions xsd?

<Address> 
    <Line1>Text</Line1> 
    <Line2>Text</Line2> 
    <City></City> 
    <Street></Street> 
    <State></State> 
    <Country></Country> 
</Address> 

Donc, si je n'avais Ligne1 et Line2 à mon adresse et de la ville, rue, état et pays étaient vides, alors Ligne1 pourrait être 254 caractères et Line2 sera de 1 caractère.

Est-il possible de définir de telles contraintes/restrictions dans le xsd lui-même?

Répondre

0

Vous pouvez contraindre le texte avec un seul élément à être une taille donnée à savoir

  <xs:element name="Line1"> 
       <xs:simpleType> 
        <xs:restriction base="xs:string"> 
         <xs:maxLength value="255" /> 
        </xs:restriction> 
       </xs:simpleType> 
      </xs:element> 

Mais vous ne pouvez pas dire Ligne1 + line2 + Ville ... < 255.