Freigeben über


<xsd:attribute>-Element

Deklariert ein Attribut.

<attribute
  default = string
  fixed = string
  form = (qualified | unqualified)
  id = ID
  name = NCName
  ref = QName
  type = QName
  use = (optional | prohibited | required): optional
  {any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleType?))
</attribute>

Attribute

  • default
    Das Attribut verfügt über einen Standardwert. Wenn das Attribut nicht in einer Instanz innerhalb eines XML-Dokuments angegeben ist, verfügt das Attribut über den angegebenen Wert. Wenn das Attribut nicht im Instanzdokument vorhanden ist, muss es im Post-Schema-Validation Infoset aufgeführt werden. Bei der Verarbeitung des Schemas muss so vorgegangen werden, als ob das Attribut mit dem Standardwert angegeben wäre, wenn sich dieser nicht tatsächlich im Instanzdokument befindet. Das default-Attribut und das fixed-Attribut können nicht gleichzeitig vorhanden sein.

    Optional.

  • fixed
    Das Attribut verfügt über einen festgelegten Wert. Wenn das Attribut in einem Instanzdokument vorhanden ist, muss sein Wert gleich dem angegebenen festgelegten Wert sein. Wenn er nicht vorhanden ist, wird dem Attribut der angegebene Wert zugewiesen. Das default-Attribut und das fixed-Attribut können nicht gleichzeitig vorhanden sein.

    Optional.

  • form
    Das Formular für das Attribut. Der Standardwert ist der Wert des attributeFormDefault-Attributs des schema-Elements, das das Attribut enthält. Der Wert muss einer der folgenden Zeichenfolgen entsprechen: "qualified" oder "unqualified".

    Wenn der Wert nicht qualifiziert ist, muss dieses Attribut nicht mit dem Namespacepräfix qualifiziert werden, und es wird mit dem NCName (No-Colon-Name) des Attributs (lokaler Name) abgeglichen.

    Wenn der Wert qualifiziert ist, muss dieses Attribut qualifiziert werden, indem der targetNamespace des Schemas und der NCName des Attributs kombiniert werden.

    Optional.

  • 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 Attributs. Der Name muss gemäß der Definition in der Spezifikation für XML-Namespaces ein NCName sein. Erforderlich, wenn es sich bei dem enthaltenen Element um das schema-Element handelt. Das name-Attribut und das ref-Attribut können nicht gleichzeitig vorhanden sein.

    Wenn ein XML-Dokument anhand eines Schemas validiert wird, wird jedes Attribut im Dokument anhand eines attribute-Elements im Schema validiert.

    Optional.

  • ref
    Der Name eines Attributs, das in diesem Schema definiert ist (oder in einem sonstigen durch den betreffenden Namespace angegebenen Schema). Der ref-Wert muss ein gekennzeichneter Name (QName) sein. Der Typ kann ein Namespacepräfix enthalten. Das name-Attribut und das ref-Attribut können nicht gleichzeitig vorhanden sein. Wenn ref vorhanden ist, dürfen das simpleType-Element, form und type nicht vorhanden sein.

    Um ein Attribut mithilfe einer vorhandenen Attributdefinition innerhalb eines komplexen Typs zu deklarieren, geben Sie die vorhandene Attributdefinition mithilfe des ref-Attributs an.

    <xs:attribute name="mybaseattribute">
      <xs:simpleType>
       <xs:restriction base="xs:integer">
          <xs:maxInclusive value="1000"/>
       </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:complexType name="myComplexType">
      <xs:attribute ref="mybaseattribute"/>
    </xs:complexType>
    

    Optional.

  • type
    Der Name eines integrierten Datentyps oder eines einfachen Typs, der in diesem Schema (oder in einem anderen vom angegebenen Namespace bestimmten Schema) definiert ist. Der Typ muss ein QName sein. Der Typ kann ein Namespacepräfix enthalten. Das type-Attribut kann nur vorhanden sein, wenn der Inhalt kein simpleType-Element enthält.

    Optional.

  • use
    Ein Indikator, der angibt, wie das Attribut verwendet wird.

    Wenn dieses Attribut angegeben ist, muss es über einen der folgenden Werte verfügen.

    optional

    Das Attribut ist optional und kann einen beliebigen Wert aufweisen. Dies ist der Standardwert. Die folgenden Werte sind äquivalent.

    <xs:attribute name="myattr" type="xs:string"/>
    <xs:attribute name="myattr" type="xs:string" use="optional"/>

    prohibited

    Das Attribut kann nicht verwendet werden. Dieses Attribut wird in einer Einschränkung eines anderen komplexen Typs verwendet, um die Verwendung vorhandener Attribute zu verhindern.

    <xs:complexType name="A">
      <xs:attribute name="x" type="xs:NCName"/>
      <xs:attribute name="y" type="xs:QName"/>
     </xs:complexType>
    

    <xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>

    required

    Das Attribut muss einmal vorkommen.

    Das Attribut ist erforderlich und kann einen beliebigen Wert enthalten, der von dieser Typdefinition des Attributs zugelassen wird.

    <xs:attribute name="myattr" type="xs:string" use="required"/>

    Dieses Attribut wird in einer Einschränkung oder Erweiterung eines anderen komplexen Typs verwendet, wobei gefordert wird, dass ein bestimmtes Attribut oder bestimmte Attribute vorhanden sein müssen.

    <xs:complexType name="A">
      <xs:attribute name="x" type="xs:NCName"/>
      <xs:attribute name="y" type="xs:QName"/>
     </xs:complexType>
    

    <xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>

    Wenn das Attribut global deklariert wird (sein übergeordnetes Element ist schema), ist dieses Attribut für alle Elemente im Schema erforderlich.

    Optional.

Elementinformationen

Anzahl der Vorkommen

Einmal im schema-Element definiert. In komplexen Typen oder Attributen wird mehrfach darauf verwiesen.

Übergeordnete Elemente

attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent)

Inhalt

annotation, simpleType

Hinweise

Eine Attributdeklaration ordnet einen Namen einer Typdefinition zu. Dabei kann es sich um einen integrierten Datentyp oder um einen einfachen Typ handeln.

Attributdeklarationen können als untergeordnete Elemente der Elemente schema, complexType und attributeGroup (mit einem globalen Gültigkeitsbereich) oder innerhalb von komplexen Typdefinitionen vorhanden sein. Für komplexe Typen können Attributdeklarationen als lokale Deklarationen oder Verweise auf Attribute mit globalem Gültigkeitsbereich vorhanden sein.

Darüber hinaus können Attribute per Verweis im attributeGroup-Element und im complexType-Element aufgeführt sein.

Beispiele

Im folgenden Beispiel wird ein Attribut per Verweis auf einen integrierten Typ mit einem Standardwert von test deklariert und in einem complexType-Element verwendet.

Im folgenden Beispiel wird ein required-Attribut direkt in einem complexType-Element deklariert.

Im folgenden Beispiel wird ein Attribut durch Ableitung vom integrierten integer-Typ (durch Einschränkung) deklariert, wobei die Werte auf einen Bereich zwischen "60" und "95" (einschließlich) eingeschränkt wird.

Im folgenden Beispiel wird ein Attribut als Liste von Dezimalwerten deklariert. (Dadurch kann ein Attribut wie shoeSizes="10.5 9 8 11" eine Liste der Werte 10.5, 9, 8 und 11 enthalten).

Weitere Ressourcen

Weitere Informationen finden Sie in der Spezifikation "W3C XML Schema Part 1: Structures Recommendation" unter "www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all".

Siehe auch

Verweis

Referenz zu XML-Schemata (XSD)
Elemente des XML-Schemas