XML Schema attribute-Element

Definition und Verwendung

Das attribute-Element definiert ein Attribut.

Elementinformation

Anzahl der Auftretens Wird einmal im schema-Element definiert. Wird in komplexen Typen oder Attributgruppen mehrmals referenziert.
Übergeordneter Element attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Inhalt annotation、simpleType

Grammatik

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>
(annotation?,(simpleType?))
</attribute>

(? Symbol zeigt an, dass dieser Element in dem Attribut-Element null oder einmal auftreten kann。)

Attribut

default

Optional. Definiert den Standardwert des Attributes. Die Eigenschaften default und fixed können nicht gleichzeitig auftreten.

fixed

Optional. Definiert den festen Wert des Attributes. Die Eigenschaften default und fixed können nicht gleichzeitig auftreten.

form

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

  • "qualified" - Zeigt an, dass dieses Attribut durch Namensraumpräfix und den unpräfixierten Namen (NCName) dieses Attributs eingeschränkt werden muss.
  • "unqualified" - Zeigt an, dass dieses Attribut keine Namensraumpräfixe erfordert und keine Matchen dieses Attributes namenslosen Namens (NCName), also dem Localnamen, erfordert.

id

Optional. Definieren Sie die eindeutige ID dieses Elements.

name

Optional. Definieren Sie den Namen der Eigenschaft. Die Attribute name und ref dürfen nicht gleichzeitig auftreten.

ref

Optional. Definieren Sie die Referenz für die angegebene Eigenschaft. Die Attribute name und ref dürfen nicht gleichzeitig auftreten. Wenn ref erscheint, dürfen das simpleType-Element, form und type nicht erscheinen.

type

Optional. Definieren Sie die eingebauten Daten- oder einfachen Typen. Das type-Attribut darf nur erscheinen, wenn das Inhalt nicht das simpleType-Element enthält.

use

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

  • optional - Eigenschaft ist optional und kann jeden Wert haben (Standard).
  • prohibited - Eigenschaft kann nicht verwendet werden.
  • required - Erforderliche Eigenschaft.

any attributes

Optional. Definieren Sie andere Attribute 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 den Großbuchstaben A bis Z.

Beispiel 2

Um eine Eigenschaft mit einer bereits definierten Eigenschaft 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 automatisch ein Standardwert der Eigenschaft zugewiesen. Im folgenden Beispiel ist der Standardwert "EN":

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

Wenn keine anderen Werte angegeben werden, wird automatisch ein festgelegter Wert der Eigenschaft zugewiesen. Aber anders als der Standardwert, wird ein Wert, der außer einem festgelegten Wert für die Eigenschaft festgelegt wurde, als ungültig überprüft. Im folgenden Beispiel ist der festgelegte Wert "EN":

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

Beispiel 4

Alle Attribute sind standardmäßig optional. Um ein Attribut ausdrücklich als optional zu deklarieren, verwenden Sie das "use"-Attribut:

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

Machen Sie das Attribut obligatorisch:

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