Enumération insensible à la casse du schéma XML de la chaîne de type simple
Je suis dans le besoin d'une casse de chaîne de type énumération dans mon schéma XML (.xsd) fichier. Je peux obtenir la casse en procédant comme suit.
<xs:simpleType name="setDigitalPointType">
<xs:restriction base="xs:string">
<xs:pattern value="[Oo][Nn]" />
<xs:pattern value="[Oo][Ff][Ff]" />
</xs:restriction>
</xs:simpleType>
Le seul problème est que je n'ai pas de valeurs d'énumération. Je ne vais pas obtenir le bon intellesense lors de l'utilisation de Visual Studio pour écrire mon XML. La suite me donnera les énumérations, mais il est sensible à la casse.
<xs:simpleType name="setDigitalPointType">
<xs:restriction base="xs:string">
<xs:enumeration value="on" />
<xs:enumeration value="off" />
</xs:restriction>
</xs:simpleType>
Cela va me donner mes énumérations, mais si jamais je recevoir une valeur de "On", "SUR", ou "sur" ce sera un échec de la vérification.
Je veux énumération de "on", "off" et de permettre l'entrée de la casse versions.
source d'informationauteur Bobby Cannon
Vous devez vous connecter pour publier un commentaire.
IBM developerWorks a un article sur la façon d'utiliser XSLT pour effectuer la construction de l'ensemble de l'énumération des solutions de rechange de manière automatisée. Il est présenté comme une solution de contournement pour le manque de respect de la casse des énumérations.
Si vous voulez garder la casse de validation, tout en continuant Intellisense de Visual Studio 2010, vous pouvez utiliser un syndicat:
Cela fonctionne car elle exploite le fait que Visual Studio 2010, seul le processus de la première de type simple dans un syndicat lorsqu'il crée son Intellisense de données. Mais lorsqu'il valide un document, il traite à la fois, ce qui signifie "Sur" est toujours déterminé à être valide, même si elle n'est pas dans la liste des valeurs d'énumération.
Bien, vous pourriez tout simplement la liste de toutes les permutations comme les modèles 🙂