XML Schema element elementti

Definition and usage

element-elementti määrittää elementin.

Element information

Occurrence The number of elements defined in the schema.
Parent element schema、choice、all、sequence
Content simpleType、complexType、key、keyref、unique

Syntax

<element
id=ID 
name=NCName
ref=QName
type=QName
substitutionGroup=QName
default=string
fixed=string
form=qualified|unqualified
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
nillable=true|false
abstract=true|false 
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
mikä tahansa ominaisuudet
>
annotation?,((simpleType|complexType)?,(unique|key|keyref)*))
</element>

(? Merkki ilmoitetaan elementissä, joka voi esiintyä nolla tai yhden kerran, * merkki ilmoittaa elementin, joka voi esiintyä nolla tai useita kertoja).

Ominaisuus

id

Valinnainen. Määrittää elementin ainutlaatuisen ID:n.

name

Valinnainen. Määrittää elementin nimen. Tämä ominaisuus on välttämätön, jos vanhempi elementti on schema-elementti.

ref

Valinnainen. Viittaus toiseen elementtiin. ref-ominaisuus voi sisältää nimenimerkin.

type

Valinnainen. Määrittää sisäänrakennetun datatyyppin nimen tai määrittää simpleType- tai complexType-elementin nimen.

substitutionGroup

Valinnainen. Määrittää nimimerkinnän, joka voi korvata kyseisen elementin. Tämä elementti täytyy olla samaa tyyppiä tai haettu tietystä elementtipyydöstä.

Ei voida käyttää tätä ominaisuutta, jos vanhempi elementti ei ole schema-elementti.

default

Valinnainen. Määrittää elementille oletusarvon ( käytetään vain, kun elementin sisältö on yksinkertainen tyyppi tai textOnly ).

fixed

Valinnainen. Määrittää elementille kiinteän arvon ( käytetään vain, kun elementin sisältö on yksinkertainen tyyppi tai textOnly ).

form

valinnainen. Elementin muoto. Oletusarvo on sisältävän ominaisuuden schema-elementin elementFormDefault-ominaisuuden arvo. Arvon on oltava seuraavista merkkijonoista yksi: "qualified" tai "unqualified".

Jos vanhempi elementti on schema-elementti, tätä ominaisuutta ei voida käyttää.

  • Jos arvo on "unqualified", elementtiä ei tarvitse määrittää nimenimerkillä.
  • Jos arvo on "qualified", elementti on pakko määrittää nimenimerkillä.

maxOccurs

valinnainen. Määrittää elementin enimmäiskerta, joka voi esiintyä vanhemmassa elementissä. Arvo voi olla yli tai yhtä suuri kuin nolla oleva kokonaisluku. Jos enimmäiskertaa ei ole rajoitettu, käytä merkkijonoa "unbounded". Oletusarvo on 1.

Jos vanhempi elementti on schema-elementti, tätä ominaisuutta ei voida käyttää.

minOccurs

valinnainen. Määrittää elementin vähimmäiskerta, joka voi esiintyä vanhemmassa elementissä. Arvo voi olla yli tai yhtä suuri kuin nolla oleva kokonaisluku. Oletusarvo on 1.

Jos vanhempi elementti on schema-elementti, tätä ominaisuutta ei voida käyttää.

nillable

valinnainen. Indikoi voidaanko elementille antaa nolla-arvo (nil). Tämä koskee elementin sisältöä eikä elementin ominaisuutta. Oletusarvo on false.

Jos nillable on true, elementin instanssi voi asettaa nil-ominaisuuden true. nil-ominaisuus määritellään instanssin XML-rakennepalvelun nimenomaan nimenomaisen nimen (QName) osana.

Esimerkiksi seuraavassa määritellään yksittäinen elementti ja asetetaan nillable true.

<xs:element name="myDate" type="xs:date" nillable="true"/>

Seuraavassa käytetään tätä elementtiä ja sillä on nolla-arvo (nil-ominaisuus asetettu true).

<myDate xsi:nil="true"></myDate>

absoluutti

valinnainen. Indikoi, voidaanko elementtiä käyttää instanssidokumentissa. Jos arvo on true, elementti ei voi olla instanssidokumentissa. Päinvastoin, elementin substitutionGroup-ominaisuudessa olevan elementin Qualified Nimen (QName) muiden elementtien on oltava elementin sijalla. Useita elementtejä voidaan viitata elementtiin sen substitutionGroup-ominaisudessa. Oletusarvo on false.

block

valinnainen. Perivä linjan tyyppi. block-ominaisuus estää elementin käyttämisen korvaamiseen määritellyn perivän linjan tyypin sijaan. Arvo voi sisältää #all tai listan, joka on laajennuksen, rajoituksen tai korvaamisen alajoukko:

  • laajennus - estää elementin käyttämisen korvaamiseen laajennuksen kautta saatujen elementtien sijaan.
  • restriction - Estää johdettujen elementtien korvaamisen rajoituksen avulla.
  • substitution - Estää johdettujen elementtien korvaamisen korvaamisen avulla.
  • #all - Estää kaikki johdettujen elementtien korvaamisen tämän elementin sijaan.

final

Valinnainen. Asettaa elementin elementin lopullisen ominaisuuden oletusarvon. Jos vanhempi elementti ei ole schema-elementti, tätä ominaisuutta ei voida käyttää. Arvo voi sisältää #all tai listan, joka on extension tai restrictionin joukko:

  • extension - Estää johdettujen elementtien korvaamisen laajennuksen avulla
  • restriction - Estää johdettujen elementtien korvaamisen rajoituksen avulla
  • #all - Estää kaikki johdettujen elementtien korvaamisen tämän elementin sijaan

mikä tahansa ominaisuudet

Valinnainen. Määrittää minkä tahansa non-schema-nimellisen ominaisuuden.

Esimerkki

Esimerkki 1

Seuraava esimerkki on schema, jossa on neljä yksinkertaista elementtiä: "fname", "lname", "age" ja "dateborn", joilla on tyypit string, nonNegativeInteger ja date:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fname" type="xs:string"/>
<xs:element name="lname" type="xs:string"/>
<xs:element name="age" type="xs:nonNegativeInteger"/>
<xs:element name="dateborn" type="xs:date"/>
</xs:schema>

Esimerkki 2

Seuraava esimerkki on schema, jossa on "note"-niminen monimutkainen tyyppi elementti. "note"-elementti sisältää neljä yksinkertaista elementtiä: "to", "from", "heading" ja "body":

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>

Esimerkki 3

Tämä esimerkki on samanlainen kuin esimerkki 2, mutta tässä esimerkissä valitsemme käyttää ref-ominaisuutta elementin nimen viittaamiseen:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="to"/>
      <xs:element ref="from"/>
      <xs:element ref="heading"/>
      <xs:element ref="body"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:schema>