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