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"/>