Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt an, dass der Wert eines Attributs oder Elements (bzw. eine Gruppe von Werten) ein Schlüssel innerhalb des angegebenen Gültigkeitsbereichs sein muss. Der Gültigkeitsbereich eines Schlüssels ist das ihn enthaltende Element in einem Instanzdokument. Bei einem Schlüssel handelt es sich um Daten, die innerhalb des angegebenen Gültigkeitsbereichs eindeutig und immer vorhanden sein müssen und nicht leer sein dürfen.
<key
id = ID
name = NCName
{any attributes with non-schema Namespace}...>
Content: (annotation?, (selector, field+))
</key>
Attribute
id
Die ID dieses Elements. Der id-Wert muss vom Typ ID sein und innerhalb des Dokuments, in dem dieses Element enthalten ist, eindeutig sein.Optional.
name
Der Name des key-Elements. Der Name muss gemäß der Definition in der Spezifikation für XML-Namespaces ein NCName (Name ohne Doppelpunkt) sein.Der Name muss innerhalb einer Gruppe von Identitätseinschränkungen eindeutig sein.
Erforderlich.
Elementinformationen
Anzahl der Vorkommen |
Unbegrenzt |
Übergeordnete Elemente |
|
Inhalt |
Hinweise
Das key-Element muss die folgenden Elemente in der entsprechenden Reihenfolge enthalten.
selector |
Das selector-Element enthält einen XPath-Ausdruck (XML Path Language), der die Elemente angibt, für die die von field angegebenen Werte eindeutig sein müssen. Es muss genau ein selector-Element vorhanden sein. |
field |
Jedes field-Element enthält einen XPath-Ausdruck, der die Werte (Attribut- oder Elementwerte) angibt, die für die vom selector-Element angegebenen Elemente eindeutig sein müssen. Wenn mehrere field-Elemente vorhanden sind, muss die Kombination der field-Elemente eindeutig sein. In diesem Fall können die Werte für ein einzelnes field-Element bezogen auf die ausgewählten Elemente ggf. eindeutig sein, die Kombination aller Felder muss jedoch zwingend eindeutig sein. Es muss mindestens ein field-Element vorhanden sein. |
Beispiel
Im folgenden Beispiel wird ein keyref-Element definiert, das dem key-Element in diesem Schema entspricht.
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="namespace1"
xmlns:r="namespace1"
elementFormDefault="qualified">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="r:A" maxOccurs="unbounded">
<xs:keyref name="dummy" refer="r:pNumKey">
<xs:selector xpath="part"/>
<xs:field xpath="@ref-number"/>
</xs:keyref>
</xs:element>
<xs:element name="B" type="r:B"/>
</xs:sequence>
</xs:complexType>
<xs:key name="pNumKey">
<xs:selector xpath="r:B/r:part"/>
<xs:field xpath="@key-number"/>
</xs:key>
</xs:element>
<xs:complexType name="A">
<xs:sequence>
<xs:element name="part" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="ref-number" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="B">
<xs:sequence>
<xs:element name="part" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key-number" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Eingabe: key.xml
<root xmlns="namespace1">
<A>
<!-- if the ref-number is not equal to one of the key-number, the validation will give error -->
<part ref-number="1"/>
</A>
<A>
<!-- if the ref-number is not equal to one of the key-number, the validation will give error -->
<part ref-number="2"/>
</A>
<B>
<part key-number="1"/>
<part key-number="2"/>
<part key-number="3"/>
</B>
</root>
Weitere Ressourcen
Weitere Informationen finden Sie in der Spezifikation "XML Schema Part 1: Structures Recommendation" (nur auf Englisch verfügbar) unter www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.