2010-05-15 4 views
1

restreindre les caractères spéciaux dans ma validation XSD, je suis capable de gérer, certains caractères avec ce modèle "([a-zA-Z0-9_. '! @ # $%^*() _ + = {} | /:;,>/`~]) + "Règle de restriction de caractères spéciaux dans XSD

mais pas en mesure de gérer ci-dessous:

" & ' < \ ® ™

?

des idées?

pas non plus en mesure de les manipuler avec motif

Répondre

3

Je pense que vous avez besoin d'utiliser des entités de caractère [^]. &amp; pour l'esperluette, par exemple, et &lt; pour le moins. XML Schema est XML, et vous devez vivre avec des règles XML. Élargir votre question pour nous montrer le contexte du schéma serait utile.

+0

ok, thnx, je suis capable de les gérer toujours pas de chance pour permettre les caractères ® ™ – Himanshu

+0

Vous aurez besoin d'utiliser # codes d'échappement pour ces deux caractères, donc & # x2122; pour TM et & # x00ae; pour (R). –

5

Vous voulez définir un type qui étend la chaîne et ajouter une restriction avec un motif Quelque chose comme

<xs:element name="your_element"> 
    <xs:simpleType> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="[a-zA-Z0-9_.' [email protected]#$%^*()_+={}|/:;,>?/`~ ]"/> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:element> 
2

Ou vous pouvez ajouter le caractère d'échappement \ (barre oblique inverse) avant tout caractère spécial que vous voulez ajouter à la modèle. Par exemple:

<xs:pattern value="[a-zA-Z 0-9_.,()/=!\[\]&quot;#%&amp;*;&lt;&gt;&apos;+:?-]"/> 

où vous voyez les crochets [et] inclus dans le modèle.