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>