Announcement

Collapse
No announcement yet.

Ist das über XML oder XSD möglich? Wenn ja wie?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ist das über XML oder XSD möglich? Wenn ja wie?

    Hallo,

    In meinem XML Dokument wird ein Element "pattern" definiert:

    Code:
    <pattern>Enum1 beliebigeZeichen Enum2<pattern>
    und ich möchte gerne, dass mein Benutzer die Möglichkeit hat, in dem Value-Wert von "pattern" Enum1 bzw. Enum2 auswählen kann, aber dennoch irgendwelche Zeichen eintragen kann.

    Der Sinn der dahinter steckt ist, dass mein Programm auf Basis des "pattern" programmintern einen expandierten regulären Ausdrück erstellt und ich gerne dem Benutzer die Möglichkeit geben möchte, Enum1/2 auszuwählen, aber dennoch beliebiges Zeugs eintragen kann.

    Danke.

    LG BlackMatrix
    Zuletzt editiert von BlackMatrix; 13.03.2013, 20:08. Reason: XML Tags durch Code Tags ersetzt

  • #2
    Du kannst einen einfachen Typ (simpleType) in der W3C XML Schemasprache als Vereinigung zweier anderer einfachen Typen bilden: http://www.w3.org/TR/xmlschema-2/#dt-union.

    Damit könntest du also zwei Typen definieren:
    [highlight=xml]
    <xs:simpleType name="t1">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Enum1"/>
    <xs:enumeration value="Enum2"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="union-of-t1-and-string">
    <xs:union memberTypes="t1 xs:string"/>
    </xs:simpleType>


    <xs:element name="pattern" type="union-of-t1-and-string"/>

    [/highlight]

    Allerdings ist meiner Erfahrung nach die Toolunterstützung für union z.B. bei Objekt <--> XML-Abbildungen nicht unbedingt so gut wie für einfache Typen, die nur Enumeration oder vordefinierte Typen benutzen.

    Comment

    Working...
    X