XML Schema attribute-element

Definition og brug

attribute-elementet definerer en egenskab.

Elementinformation

Antal forekomster Defineres én gang i schema-elementet. Citeres flere gange i komplekse typer eller egenskabsgrupper.
Forældrelement attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Indhold annotation、simpleType

Syntaks

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

(?-symbolet erklærer, at dette element kan optræde nul eller én gang i attribute-elementet.)

Egenskab

default

Valgfri. Angiver standardværdien for egenskaben. Default- og fixed-attributter kan ikke optræde samtidig.

fixed

Valgfri. Angiver den faste værdi for egenskaben. Default- og fixed-attributter kan ikke optræde samtidig.

form

Valgfri. Angiver formatet for egenskaben. Standardværdien er værdien af attributeFormDefault-attributten i schema-elementet, der indeholder egenskaben. Kan indstilles til følgende værdier:

  • "qualified" - Angiver, at egenskaben skal begrænses gennem et navnerumpræfiks og egenskabens ikoniske navn (NCName).
  • "unqualified" - Angiver, at denne egenskab ikke skal være begrænset af et navnerumpræfiks og ikke skal matche egenskabens ikonisk navn (NCName), dvs. den lokale navn.

id

Valgfri. Angiv det unikke ID for elementet.

navn

Valgfri. Angiv navnet på egenskaben. name- og ref-egenskaber kan ikke optræde samtidig.

ref

Valgfri. Angiv en reference til den specificerede egenskab. name- og ref-egenskaber kan ikke optræde samtidig. Hvis ref optræder, kan simpleType-element, form og type ikke optræde.

type

Valgfri. Angiv en indbygget datatype eller en simpel type. type-egenskaben skal kun optræde, hvis indholdet ikke indeholder en simpleType-element.

brug

Valgfri. Angiv, hvordan egenskaben skal bruges. Du kan sætte følgende værdier:

  • Valgfri - egenskaben er valgfri og kan have enhver værdi (standard).
  • Prohibiteret - egenskaben må ikke bruges.
  • Obligatorisk - egenskaben er påkrævet.

enhver egenskab

Valgfri. Angiv eventuelle andre egenskaber med non-schema-namnespacen.

Eksempel

Eksempel 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>

Det foregående eksempel indikerer, at "code"-egenskaben har en begrænsning. De eneste accepterede værdier er to bogstaver fra store bogstaver A til Z.

Eksempel 2

For at bruge en eksisterende egenskabsdefinition i en kompleks type til at erklære en egenskab, brug ref-egenskaben:

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

Eksempel 3

Egenskaben kan enten have en standardværdi eller en specificeret fast værdi. Hvis ingen andre værdier er angivet, tildeler dokumentet automatisk en standardværdi til egenskaben. I det følgende eksempel er standardværdien "EN":

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

Hvis ingen andre værdier er angivet, tildeler dokumentet automatisk en fast værdi til egenskaben. Men forskellig fra standardværdien, hvis du angiver en værdi, der ikke er en fast værdi for egenskaben, vil dokumentet validere det som ugyldigt. I det følgende eksempel er den faste værdi "EN":

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

Eksempel 4

Alle egenskaber er som standard valgfri. For at specifikt definere egenskaber som valgfri, skal du bruge "use"-egenskaben:

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

Gør egenskaben obligatorisk:

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