XML Schema element element
Definition og brug
element-elementet definerer et element.
Elementinformation
Optrædenummer | Antallet af elementer defineret i arkitekturen. |
Overordnede element | schema、choice、all、sequence |
Indhold | simpleType、complexType、key、keyref、unique |
Syntaks
<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|liste af (extension|restriction)) final=(#all|liste af (extension|restriction)) Enhver attribut > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(? Symbolet er deklareret i element-elementet, som kan optræde nul eller én gang, *-symbolet deklarerer elementet kan optræde nul eller flere gange.).
Egenskab
id
Valgfri. Angiver en unik ID for elementet.
name
Valgfri. Angiver navnet på elementet. Hvis den overordnede element er et schema-element, er denne egenskab obligatorisk.
ref
Valgfri. En reference til et andet element. ref-egenskaben kan inkludere et navnespacesuffiks. Hvis den overordnede element er et schema-element, bruges ikke denne egenskab.
type
Valgfri. Angiver navnet på en indbygget datatyp, eller navnet på et simpleType- eller complexType-element.
substitutionGroup
Valgfri. Angiver navnet på et element, der kan erstatte dette element. Dette element skal have samme type eller en type, der er afledt fra den specificerede type.
Kan ikke bruge denne egenskab, hvis den overordnede element ikke er et schema-element.
default
Valgfri. Angiver en standardværdi for elementet (kun brugt, når elementets indhold er en simpel type eller textOnly).
fixed
Valgfri. Angiver en fast værdi for elementet (kun brugt, når elementets indhold er en simpel type eller textOnly).
form
Valgfri. Elementets form. Standardværdi er værdien af elementFormDefault-attributten i skemaet, der indeholder dette attribut. Værdien skal være en af følgende strenge: "qualified" eller "unqualified".
Denne egenskab kan ikke bruges, hvis forældreelementet er schema-elementet.
- Hvis værdien er "unqualified", skal elementet ikke navngives med et namespace-præfiks.
- Hvis værdien er "qualified", skal elementet navngives med et namespace-præfiks.
maxOccurs
Valgfri. Regulerer den maksimale gang, elementet kan forekomme i forældreelementet. Værdien kan være et heltal større end eller lig med 0. Hvis der ikke er nogen begrænsning på den maksimale gang, kan værdien være "unbounded". Standardværdi er 1.
Denne egenskab kan ikke bruges, hvis forældreelementet er schema-elementet.
minOccurs
Valgfri. Regulerer den mindste gang, elementet kan forekomme i forældreelementet. Værdien kan være et heltal større end eller lig med 0. Standardværdi er 1.
Denne egenskab kan ikke bruges, hvis forældreelementet er schema-elementet.
nillable
Valgfri. Angiver, om en eksplicit nulværdi kan tildeling til elementet. Dette anvendes på elementets indhold og er ikke en egenskab af elementet. Standardværdi er false.
Hvis nillable er true, kan instansen af elementet have nil-attributten sat til true. nil-attribut defineres som en del af instansens XML-skema-nødvendige navnespace.
For eksempel definerer næste afsnit et enkelt element og sætter nillable til true.
<xs:element name="myDate" type="xs:date" nillable="true"/>
Næste afsnit bruger dette element og har en eksplicit nulværdi (nil-attribut sat til true).
<myDate xsi:nil="true"></myDate>
abstract
Valgfri. Angiver, om elementet kan bruges i instansdokumentet. Hvis værdien er true, kan elementet ikke forekomme i instansdokumentet. I stedet skal elementer, der indeholder det pågældende elements QName (navngivet kvalitet), fremtræde på det pågældende sted. Flere elementer kan referere til dette element i deres substitutionGroup-attribut. Standardværdi er false.
block
Valgfri. Nedarvede typer. block-attribut forhindrer, at elementer med den specificerede nedarvede type bruges til at erstatte det pågældende element. Værdien kan indeholde #all eller en liste, som er en delmængde af extension, restriction eller substitution:
- extension - forbygde elementer bruges til at erstatte det pågældende element.
- restriction - Forhindrer afledte elementer gennem begrænsning i at erstatte dette element.
- substitution - Forhindrer afledte elementer gennem erstatning i at erstatte dette element.
- #all - Forhindrer alle afledte elementer i at erstatte dette element.
final
Valgfri. Angiver standardværdien for elementets final-attribut. Hvis forælderen ikke er et schema-element, kan dette attribut ikke bruges. Værdien kan være #all eller en liste, der indeholder en delmængde af extension eller restriction:
- extension - Forhindrer afledte elementer gennem udvidelse i at erstatte dette element
- restriction - Forhindrer afledte elementer gennem begrænsning i at erstatte dette element
- #all - Forhindrer alle afledte elementer i at erstatte dette element
Enhver attribut
Valgfri. Angiver hvilke andre attributter, der kan have non-schema navnerum.
Eksempel
Eksempel 1
Følgende eksempel er en schema, der indeholder fire enkle elementer: "fname", "lname", "age" og "dateborn", med typerne string, nonNegativeInteger og 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>
Eksempel 2
Følgende eksempel er en schema med en kompleks type "note" element. "note" elementet indeholder fire enkle elementer: "to", "from", "heading" og "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>
Eksempel 3
Dette eksempel er det samme som eksempel 2, men i dette eksempel vælger vi at bruge ref-attributten til at referere til elementnavn:
<?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>