Frage

Ich bin in der Notwendigkeit eines Groß- und Kleinschreibung Zeichenfolge Aufzählungstypen in meinem XML-Schema (XSD-Datei). Ich kann Groß- und Kleinschreibung, indem Sie die folgenden erhalten.

<xs:simpleType name="setDigitalPointType">
    <xs:restriction base="xs:string">
        <xs:pattern value="[Oo][Nn]" />
        <xs:pattern value="[Oo][Ff][Ff]" />
    </xs:restriction>
</xs:simpleType>

Das einzige Problem ist, dass ich keine Enumerationswerten bekommen. Ich werde nicht die schöne intellesense erhalten, wenn Visual Studio mit meinem XML zu schreiben. Im Folgenden wird mir Aufzählungen geben, aber es ist Groß- und Kleinschreibung.

<xs:simpleType name="setDigitalPointType">
    <xs:restriction base="xs:string">
        <xs:enumeration value="on" />
        <xs:enumeration value="off" />
    </xs:restriction>
</xs:simpleType>

Das wird meine Aufzählung gibt Sie mir aber, wenn ich jemals einen Wert von „On“, „ON“ oder „oN“ wird es scheitern Überprüfung erhalten.

Ich will Aufzählung von „on“, „off“ und Eingabe von Groß- und Kleinschreibung Versionen ermöglichen.

War es hilfreich?

Lösung

IBM developer hat einen Artikel , wie XSLT zu verwenden, um den Aufbau des vollständigen Satzes von Aufzählungs Alternativen in einer automatisierten Weise durchzuführen. Es wird als Abhilfe für den Mangel an Groß- und Kleinschreibung Aufzählungen vorgestellt.

Andere Tipps

Wenn Sie sowohl die Groß- und Kleinschreibung Validierung zu halten, während immer noch Intellisense immer in Visual Studio 2010 können Sie eine Vereinigung verwenden:

<xs:simpleType name="setDigitalPointType">
    <xs:union>
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="on" />
                <xs:enumeration value="off" />
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:pattern value="[Oo][Nn]" />
                <xs:pattern value="[Oo][Ff][Ff]" />
            </xs:restriction>
        </xs:simpleType>
    </xs:union>
</xs:simpleType>

Das funktioniert, weil es die Tatsache, dass Visual Studio 2010 nur nutzt die erste einfache Art in einer Union verarbeitet, wenn es baut es Intellisense Daten ist. Allerdings, wenn es ein Dokument überprüft, verarbeitet sie beide, was bedeutet, „On“ noch einmal als gültig bestimmt wird, obwohl es nicht in der Liste der Aufzählungswerte ist.

Nun, könnte man einfach eine Liste aller Permutationen als Muster:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top