Announcement

Collapse
No announcement yet.

Innerhalb eines Elements ein weiteres Erzwingen...

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

  • Innerhalb eines Elements ein weiteres Erzwingen...

    Hallo !

    Bin noch neu hier und habe eine frage, die mir bestimmt jemand von euch leicht beantworten kann...


    Folgender sachverhalt...

    Ich habe ein Xml-Schema.
    Grob:
    Code:
    <RootElement>
    <SubElement1 minOccurs=0 maxOccurs=unbounded /> <SubElement2 minOccurs=0 maxOccurs=unbounded /> <SubElement3 minOccurs=0 maxOccurs=unbounded />
    </RootElement>

    Ich möchte erzwingen, dass zwar Jedes Sub-Element beliebig oft vorkommen kann... ABER auch MINDESTENS eins innerhalb des RootElements stehen muss!

    Ich habe versucht:
    Code:
    <RootElement>
    <choice minOccurs=1 maxOccurs=unbounded> ...
    </RootElement>
    Klappt soweit, dass wenn ich bei minOccurs "2" eingebe und in der Xml-file nur 1 Subelement einschreibe, mir der compiler einen Fehler bringt ("nicht vollständig")

    ABER:
    Wenn ich jetzt KEIN subelement in die XML-file schreibe, bringt der compiler mir keinen fehler.
    Logisch! Weil ja alle SubElemente von 0 bis n erlaubt sind.


    Hat jemand eine Idee, wie ich das lösen könnte?

    für jeden Vorschlag bin ich sehr dankbar !


    mfg sreischl

  • #2
    Lass mal das min/maxOccures bei deinen Elementen wech, Dann müsste es eigentlich schon funktionieren. Und so siehts auch noch übersichtlicher aus:

    [highlight=xml]
    <xsd:element name="RootElement" type="myRootType"/>

    <xsd:complexType name="myRootType">
    <choice minOccures="1" maxOccures="unbounded">
    <SubElement1>
    ....
    </choice>
    </xsd:complexeType>
    [/highlight]
    Just be DRY and KISS your customers.

    Comment

    Working...
    X