Announcement

Collapse
No announcement yet.

XML Schema Uniqueness und Keys

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

  • XML Schema Uniqueness und Keys

    Hallo zusammen,

    ich erhoffe mir hier Hilfe bezüglich xml schema. Genauer gesagt geht es um das Thema Uniqueness und Keys innerhalb von xml schemas. Ich probiere nun schon seit einigen Stunden mit den Elementen unique, key und keyref herum, bisher jedoch leider ohne Erfolg. Stark vereinfacht habe ich folgende xml Struktur:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <katalog>
        <kapitel register="audio-systeme">
            <produkt>
                <produktdaten>
                    <audio-systeme>
                        <nennspannung/>
                        <nennstrom/>
                    </audio-systeme>
                </produktdaten>
            </produkt>
            <produkt>
                <produktdaten>
                    <audio-systeme>
                        <nennspannung/>
                        <nennstrom/>
                    </audio-systeme>
                </produktdaten>
            </produkt>
        </kapitel>
        <kapitel register="video-systeme">
            <produkt>
                <produktdaten>
                    <video-systeme>               
                        <aufloesung/>
                        <uebertragungsgeschwindigkeit/>                   
                    </video-systeme>
                </produktdaten>
            </produkt>
        </kapitel>
    </katalog>
    Folgendes möchte ich realisieren:

    1.) Das Attribut „register“ muss eindeutig sein, sodass es keine zwei <kapitel> mit dem gleichen Inhalt des Attributs „register“ geben kann.
    2.) Innerhalb eines Kapitels muss das Kindelement des Knoten <produktdaten> gleich dem gültigen Inhalt des Attributs „register“ (Bsp: audio-systeme) sein.

    Ich hoffe mir kann wer helfen oder nützliche Tipps geben. Besten Dank im Voraus!

  • #2
    Punkt 1 http://www.w3.org/TR/xmlschema-0/#specifyingUniqueness:

    Code:
    <xs:element name="katalog">
      <xs:complexType>...</xs:complexType>
      <xs:unique name="unique-register-attribute">
        <xs:selector xpath="kapitel"/>
        <xs:field xpath="@register"/>
      </xs:unique>
    </xs:element>
    Die zweite Anforderung ist eventuell mit der Version 1.1 der Schemasprache möglich (und dann natürlich Benutzung eines diese unterstützenden Parsers), aber ich frage mich, ob es überhaupt sinnvoll ist, Kindelemente beliebigen Namens zuzulassen.

    Comment

    Working...
    X