XML Schema attribute-element
Definition och användning
attribute-elementet definierar en egenskap.
Elementinformation
Antal förekomster | Definieras en gång i schema-elementet. Citeras flera gånger i komplexa typer eller egenskapsgrupper. |
Föräldrelement | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
Innehåll | annotation、simpleType |
Syntax
<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>
(?-teckenet deklarerar att elementet kan förekomma noll eller en gång i attribute-elementet。)
Egenskap
default
Valgfri. Anger standardvärdet för egenskapen. Default och fixed-attribut kan inte användas samtidigt.
fixed
Valgfri. Anger den fast förhållande värdet för egenskapen. Default och fixed-attribut kan inte användas samtidigt.
form
Valgfri. Anger formen för egenskapen. Standardvärdet är värdet för attributeFormDefault-attributet i schema-elementet som innehåller egenskapen. Kan sättas till följande värden:
- "qualified" - Angiver att egenskapen måste specificeras med namnrymdsprefiks och NCName (no-colon name) för egenskapen.
- "unqualified" - Indikerar att denna egenskap inte behöver vara begränsad av ett namnrymdsprefiks, och att det inte behöver matcha detta egenskaps namn utan kolon (NCName), dvs. lokalt namn.
id
Valfritt. Specificera det unika ID:t för elementet.
name
Valfritt. Specificera namnet på egenskapen. name- och ref-egenskaperna får inte användas samtidigt.
ref
Valfritt. Specificera en referens till den specificerade egenskapen. name- och ref-egenskaperna får inte användas samtidigt. Om ref förekommer, får inte simpleType-element, form och type förekomma.
type
Valfritt. Specificera inbyggda datatyper eller enkla typer. type-egenskapen får endast förekomma när innehållet inte innehåller en simpleType-element.
use
Valfritt. Specificera hur egenskapen används. Följande värden kan sättas:
- optional - Egenskapen är valfri och kan ha vilket värde som helst (standard).
- prohibited - Egenskapen får inte användas.
- required - Egenskapen är nödvändig.
any attributes
Valfritt. Specificera andra egenskaper med non-schema-namnrymd.
Exempel
Exempel 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>
Ovanstående exempel indikerar att "code"-egenskapen har en begränsning. Endast accepterade värden är två bokstäver från stora bokstäver A till Z.
Exempel 2
För att använda en befintlig egenskapsdefinition i en komplex typ för att deklarera en egenskap, använd ref-egenskapen:
<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>
Exempel 3
Egenskapen kan både ha ett standardvärde och ett specificerat fast värde. När inga andra värden är specificerade, tilldelas egenskapen automatiskt ett standardvärde. I följande exempel är det standardvärde "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
När inga andra värden är specificerade, tilldelas egenskapen automatiskt en fast värde. Men annorlunda än standardvärde, om du specificerar ett annat värde än det fasta värdet för egenskapen, valideras dokumentet som ogiltigt. I följande exempel är det fasta värdet "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Exempel 4
Alla egenskaper är som standard valfria. Om du vill specificera att egenskapen är valfri, använd "use"-egenskapen:
<xs:attribute name="lang" type="xs:string" use="optional"/>
Gör attributet nödvändigt:
<xs:attribute name="lang" type="xs:string" use="required"/>