XML Schema Attribut-Element

Definition und Verwendung

Das Attribut-Element definiert ein Attribut.

Elementinformation

Gebietsweise Wird einmal im Schema-Element definiert. Wird in komplexen Typen oder Attributgruppen mehrmals referenziert.
Übergeordneter Element AttributeGroup、Schema、ComplexType、Restricion (simpleContent)、Extension (simpleContent)、Restricion (complexContent)、Extension (complexContent)
Inhalt Annotation、SimpleType

Syntax

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
beliebige Attribute
>
(Annotation?,(SimpleType?))
</attribute>

(? Zeichen deutet darauf hin, dass dieser Element in dem Attribut-Element null oder einmal auftreten kann。)

Attribut

default

Optional. Legt den Standardwert des Attributes fest. Die Attribute default und fixed können nicht gleichzeitig auftreten.

fixed

Optional. Legt den festen Wert des Attributes fest. Die Attribute default und fixed können nicht gleichzeitig auftreten.

form

Optional. Legt das Format des Attributes fest. Standardwert ist der Wert der Eigenschaft attributeFormDefault des Schema-Elements, das dieses Attribut enthält. Es kann auf folgende Werte gesetzt werden:

  • "qualified" - Zeigt an, dass dieses Attribut durch einen Namensraumpräfix und den unqualifizierten Namen (NCName) dieses Attributs begrenzt werden muss.
  • "unqualified" - Zeigt an, dass dieses Attribut nicht durch einen Namensraumpräfix begrenzt werden muss und nicht mit dem unqualifizierten Namen (NCName) dieses Attributs übereinstimmen muss, d.h. dem lokalen Namen.

id

Optional. Definieren Sie die eindeutige ID des Elements.

name

Optional. Definieren Sie den Namen der Eigenschaft. Die Attribute name und ref können nicht gleichzeitig auftreten.

ref

Optional. Definieren Sie den Bezug auf die spezifizierte Eigenschaft. Die Attribute name und ref können nicht gleichzeitig auftreten. Wenn ref auftritt, können das simpleType-Element, form und type nicht auftreten.

type

Optional. Definieren Sie die internen Datenarten oder einfachen Typen. Das type-Attribut kann nur auftreten, wenn das content nicht das simpleType-Element enthält.

verwenden

Optional. Definieren Sie, wie die Eigenschaft verwendet wird. Es können die folgenden Werte festgelegt werden:

  • optional - Die Eigenschaft ist optional und kann jeden Wert haben (Standard).
  • verboten - Die Eigenschaft kann nicht verwendet werden.
  • erforderlich - Die Eigenschaft ist obligatorisch.

beliebige Attribute

Optional. Definieren Sie alle anderen Eigenschaften mit non-schema Namensräumen.

Beispiel

Beispiel 1

<xs:attribute name="code">
<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>
</xs:attribute>

Der obige Beispiel zeigt an, dass die Eigenschaft "code" eine Einschränkung hat. Der einzige akzeptierte Wert sind zwei Buchstaben aus dem Großbuchstaben A bis Z.

Beispiel 2

Um eine Eigenschaft mit einer bestehenden Eigenschaftsdefinition in einem komplexen Typ zu deklarieren, verwenden Sie das ref-Attribut:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

Beispiel 3

Eine Eigenschaft kann sowohl einen Standardwert als auch einen festgelegten Wert haben. Wenn keine anderen Werte angegeben werden, wird der Eigenschaft automatisch der Standardwert zugewiesen. Im folgenden Beispiel ist der Standardwert "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Wenn keine anderen Werte angegeben werden, wird der Eigenschaft automatisch ein festgelegter Wert zugewiesen. Allerdings wird, im Gegensatz zum Standardwert, ein Dokument als ungültig überprüft, wenn für die Eigenschaft ein anderer als der festgelegte Wert angegeben wird. Im folgenden Beispiel ist der festgelegte Wert "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Beispiel 4

All attributes are optional by default. To explicitly specify an attribute as optional, use the "use" attribute:

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

Make the attribute mandatory:

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