XML Schema attribute-elementti

Määrittely ja käyttö

attribute-elementti määrittelee ominaisuuden.

Elementtiinfo

Esiintymiskerrat Määritellään schema-elementissä kerran. Viitataan monesti monimutkaisissa tyyppielementteissä tai ominaisuusryhmissä.
Isäelementti attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Sisältö annotation、simpleType

Syntaksi

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

(?-merkki ilmoittaa, että tämä elementti voi esiintyä attribute-elementissä nollan tai yhden kerran。)

Ominaisuus

default

Valinnainen. Määrittelee ominaisuuden oletusarvon. default- ja fixed-ominaisuudet eivät voi olla samanaikaisesti käytössä.

fixed

Valinnainen. Määrittelee ominaisuuden kiinteän arvon. default- ja fixed-ominaisuudet eivät voi olla samanaikaisesti käytössä.

form

Valinnainen. Määrittelee ominaisuuden muodon. Oletusarvo on sisältävän schema-elementin attributeFormDefault-ominaisuuden arvo. Voit asettaa seuraavat arvot:

  • "qualified" - Viittaa siihen, että tämän ominaisuuden täytyy olla määritelty nimenkutsun etuliitteellä ja sen nimen (NCName) avulla.
  • "unqualified" - Viittaa siihen, että tämän ominaisuuden ei tarvitse olla nimenkutsun etuliitteellä määritelty eikä sen nimen ole tarpeen olla ilman etuliitettä (NCName), eli paikallinen nimi.

id

Valinnainen. Määritä elementin ainutlaatuinen ID.

nimi

Valinnainen. Määritä ominaisuuden nimi. Name- ja ref-ominaisuudet eivät voi olla samanaikaisesti käytössä.

viittaus

Valinnainen. Määritä määritetyn ominaisuuden viittaus. Name- ja ref-ominaisuudet eivät voi olla samanaikaisesti käytössä. Jos ref on määritelty, simpleType-elementti, form ja tyyppi eivät voi olla käytössä.

tyyppi

Valinnainen. Määritä sisäänrakennettu tietotyyppi tai yksinkertainen tyyppi. Type-ominaisuus voidaan käyttää vain, kun sisältö ei sisällä simpleType-elementtiä.

käyttö

Valinnainen. Määritä, miten tätä ominaisuutta käytetään. Voit asettaa seuraavat arvot:

  • valinnainen - ominaisuus on valinnainen ja voi saada minkä tahansa arvon (oletusarvo).
  • kielletty - ominaisuutta ei voida käyttää.
  • vaadittu - ominaisuuden vaadittu.

muiden ominaisuuksien määrittely

Valinnainen. Määritä muiden schema-vapaiden nimeäSpaces-ominaisuuksien määrittely.

Esimerkki

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

Yllä oleva esimerkki viittaa siihen, että "code"-ominaisuudella on rajoitus. Ainoa hyväksyttävä arvo on kaksi isoa kirjainta A-Z väliltä.

Esimerkki 2

Jos haluat käyttää jo olemassa olevaa ominaisuusmäärittelyä, jotta voit ilmoittaa ominaisuuden, käytä ref-ominaisuutta:

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

Esimerkki 3

Ominaisuudella voi olla sekä oletusarvo että määritetty vakioarvo. Kun muuta arvoa ei ole määritetty, ominaisuudelle annetaan automaattisesti oletusarvo. Seuraavassa esimerkissä oletusarvo on "EN":

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

Kun muuta arvoa ei ole määritetty, ominaisuudelle annetaan automaattisesti vakioarvo. Mutta eri tavoin kuin oletusarvo, jos oletusarvoa ei ole määritetty, dokumentti tarkistetaan epävirheelliseksi. Seuraavassa esimerkissä vakioarvo on "EN":

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

Esimerkki 4

Kaikki ominaisuudet ovat oletusarvoisesti valinnaisia. Jos haluat määrittää ominaisuuden valinnaiseksi selvästi, käytä "use"-ominaisuutta:

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

Tee ominaisuus vaadittavaksi ominaisuudeksi:

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