2009-06-21 9 views

Répondre

4

XML contient essentiellement des chaînes seulement, bien que XSD définit aussi certains autres types primitifs. GUID, cependant, n'est pas parmi eux.

Vous pouvez définir votre propre schéma pour un type GUID. Beaucoup de gens l'ont fait. Voici comment l'équipe Microsoft OneNote l'a fait: http://msdn.microsoft.com/en-us/library/aa203890(office.11).aspx.

+0

J'ai vu l'article pour cela aussi. Comment lier le SimpleType dans votre élément, attribut xml, dites

13

Vous pouvez définir votre propre en limitant une chaîne de type « GUID » sur mesure simple à l'aide d'une expression régulière comme ceci:

<xs:simpleType name="GUID"> 
    <xs:restriction base="xs:string"> 
    <xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"/> 
    </xs:restriction> 
</xs:simpleType> 
+0

Eh bien, j'ai essayé, mais il ne cesse de revenir avec un 'The Pattern La contrainte a échouée.' dans le fichier: message d'erreur quand il le rencontre. –

+1

Odd ... nous avons cela en production et tout fonctionne très bien .... quand et comment l'utilisez-vous, et où se produit l'erreur? –

1

Je l'ai sussed dehors. Parfois, cela aide à lire les documents. C'est comme ça que ça va marcher.

<xs:simpleType name="GUID"> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"/> 
     </xs:restriction> 
    </xs:simpleType> 


    <xs:element name="ruleident"> 
    <xs:complexType> 
     <xs:attribute name="ruleGuid" > 
     <xs:simpleType> 
     <xs:restriction base ="GUID"> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:attribute > 
    </xs:complexType > 
    </xs:element> 
Questions connexes