2009-05-07 11 views
0

J'essaye de créer un schéma XSD qui validera le xml suivant.Validation d'attribut et d'élément xsd

<Item ItemGUID="3F2504E0-4F89-11D3-9A0C-0305E82C3301">The name of the item</Item> 

Je veux valider la longueur maximale de l'attribut « ItemGUID » à 36 caractères et « Le nom de l'élément » à un 25 caractères max. Comment peut-il être validé pour satisfaire la condition ci-dessus en utilisant le schéma xsd?

Répondre

4

Avec XML Schema, vous pouvez faire quelque chose comme ceci:

<xs:element name="Item"> 
    <xs:complexType> 
    <xs:simpleContent> 
     <xs:extension base="string25"> 
     <xs:attribute name="ItemGUID" type="string36" /> 
     </xs:extension> 
    </xs:simpleContent> 
    </xs:complexType> 
</xs:element> 

<xs:simpleType name="string25"> 
    <xs:restriction base="xs:string"> 
    <xs:minLength value="1"/> 
    <xs:maxLength value="25"/> 
    </xs:restriction> 
</xs:simpleType> 


<xs:simpleType name="string36"> 
    <xs:restriction base="xs:string"> 
    <xs:minLength value="1"/> 
    <xs:maxLength value="36"/> 
    </xs:restriction> 
</xs:simpleType> 

Je ne l'ai pas essayé, mais si cela ne fonctionne pas, il devrait être très proche de ce que vous avez besoin.