XML Schema attribute-element

Definitie en gebruik

Het attribute-element definieert een eigenschap.

Elementinformatie

Voorkomst Wordt een keer gedefinieerd in het schema-element. Wordt meerdere keren gerefd in complexe typen of eigenschapsgroepen.
Ouder-element attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Inhoud annotation、simpleType

Syntax

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

(?-symbool geeft aan dat dit element een keer of niet voorkomt in het attribute-element。)

Eigenschap

default

Optioneel. Bepaalt de standaardwaarde van de eigenschap. De default- en fixed-eigenschappen kunnen niet tegelijkertijd voorkomen.

fixed

Optioneel. Bepaalt de vaste waarde van de eigenschap. De default- en fixed-eigenschappen kunnen niet tegelijkertijd voorkomen.

form

Optioneel. Bepaalt het formaat van de eigenschap. De standaardwaarde is de waarde van de attributeFormDefault-eigenschap van het schema-element dat deze eigenschap bevat. Het kan de volgende waarden hebben:

  • "qualified" - Het geeft aan dat deze eigenschap moet worden vastgesteld via een namespace-prefix en de naamloze naam (NCName) van deze eigenschap.
  • "unqualified" - Het geeft aan dat deze eigenschap geen namespace-prefix hoeft te hebben en geen matcht met de naamloze naam (NCName) van deze eigenschap, dat wil zeggen de lokale naam.

id

Optioneel. Specificeer het unieke ID van het element.

name

Optioneel. Specificeer de naam van het kenmerk. De name- en ref-eigenschappen mogen niet tegelijkertijd worden gebruikt.

ref

Optioneel. Specificeer een verwijzing naar het kenmerk. De name- en ref-eigenschappen mogen niet tegelijkertijd worden gebruikt. Als ref verschijnt, mogen de simpleType-element, form en type niet verschijnen.

type

Optioneel. Specificeer een ingebouwde datatype of eenvoudige type. De type-eigenschap mag alleen verschijnen als de inhoud geen simpleType-element bevat.

gebruik

Optioneel. Specificeer hoe de eigenschap moet worden gebruikt. De volgende waarden kunnen worden ingesteld:

  • optioneel - Het kenmerk is optioneel en kan elke waarde hebben (standaard).
  • verboden - Het kenmerk kan niet worden gebruikt.
  • verplicht - Het kenmerk is vereist.

alle eigenschappen

Optioneel. Specificeer elke andere eigenschap met een non-schematische naamruimte.

Voorbeeld

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

Het vorige voorbeeld geeft aan dat het "code"-kenmerk een beperking heeft. De enige aanvaardbare waarden zijn twee letters van de hoofdletters A tot Z.

Voorbeeld 2

Om een bestaande kenmerkdefinitie in een complex type te gebruiken om een kenmerk te declareren, gebruik dan de ref-eigenschap:

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

Voorbeeld 3

Een kenmerk kan zowel een standaardwaarde als een vastgestelde waarde hebben. Als geen andere waarde is gespecificeerd, wordt de standaardwaarde automatisch aan het kenmerk toegekend. In het volgende voorbeeld is de standaardwaarde "EN":

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

Als geen andere waarde is gespecificeerd, wordt de vastgestelde waarde automatisch aan het kenmerk toegekend. Maar in tegenstelling tot de standaardwaarde, als u een andere waarde dan de vastgestelde waarde voor het kenmerk hebt gedefinieerd, wordt het document gecontroleerd als ongeldig. In het volgende voorbeeld is de vastgestelde waarde "EN":

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

Voorbeeld 4

Alle eigenschappen zijn standaard optioneel. Gebruik de "use" eigenschap om een eigenschap expliciet optioneel te specificeren:

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

Maak een eigenschap vereist:

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