XML Schema element element
Definitie en gebruik
Het element element definieert een element.
Elementinformatie
Voorkomingsfrequentie | Aantal elementen gedefinieerd in het frame. |
Ouder-element | schema、choice、all、sequence |
Inhoud | 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|lijst van (extension|restriction)) final=(#all|lijst van (extension|restriction)) alle eigenschappen > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(? Symbool wordt gedeclareerd in het element, dat kan voorkomen zero of één keer, * Symbool wordt gedeclareerd element dat kan voorkomen zero of meerdere keren.)
Eigenschap
id
Optioneel. Stelt een unieke ID in voor dit element.
name
Optioneel. Stelt de naam van het element in. Als het ouder element een schema-element is, is deze eigenschap vereist.
ref
Optioneel. Verwijzing naar een ander element. De ref-eigenschap kan een namespace-prefiks bevatten. Als het ouder element een schema-element is, wordt deze eigenschap niet gebruikt.
type
Optioneel. Stelt de naam van een ingebouwde datatype in, of stelt de naam van een simpleType of complexType-element in.
substitutionGroup
Optioneel. Stelt de naam van het element in dat kan worden gebruikt om dit element te vervangen. Dit element moet dezelfde type of een type afgeleid van het gespecificeerde type hebben.
Het kan deze eigenschap niet gebruiken als het ouder element geen schema-element is.
default
Optioneel. Stelt een standaardwaarde in voor het element (alleen te gebruiken wanneer de inhoud van het element een eenvoudige type of textOnly is).
fixed
Optioneel. Stelt een vast waarde in voor het element (alleen te gebruiken wanneer de inhoud van het element een eenvoudige type of textOnly is).
form
Optioneel. De vorm van het element. Standaardwaarde is de waarde van de elementFormDefault-eigenschap van het schema-element dat de eigenschap bevat. De waarde moet een van de volgende strings zijn: "qualified" of "unqualified".
Deze eigenschap kan niet worden gebruikt als het ouderlijke element het schema-element is.
- Als de waarde "unqualified" is, hoeft het element niet vooraf te worden gegaan door een naamruimteprefix.
- Als de waarde "qualified" is, moet het element worden voorafgegaan door een naamruimteprefix.
maxOccurs
Optioneel. Bepaalt het maximaal aantal keren dat het element kan voorkomen in het ouderlijke element. De waarde kan een geheel getal zijn dat groter of gelijk is aan nul. Gebruik de string "unbounded" om geen limiet op het maximale aantal te stellen. Standaardwaarde is 1.
Deze eigenschap kan niet worden gebruikt als het ouderlijke element het schema-element is.
minOccurs
Optioneel. Bepaalt het minimaal aantal keren dat het element kan voorkomen in het ouderlijke element. De waarde kan een geheel getal zijn dat groter of gelijk is aan nul. Standaardwaarde is 1.
Deze eigenschap kan niet worden gebruikt als het ouderlijke element het schema-element is.
nillable
Optioneel. Bepaalt of een expliciete nulwaarde kan worden toegewezen aan het element. Dit toepast zich op de inhoud van het element en is geen eigenschap van het element. Standaardwaarde is false.
Als nillable true is, kan de instantie van het element de nil-eigenschap instellen op true. De nil-eigenschap wordt gedefinieerd als een deel van de XML-schemanamenruimte van de instantie.
Bijvoorbeeld, het volgende gedeelte definieert een enkel element en stelt nillable in op true.
<xs:element name="myDate" type="xs:date" nillable="true"/>
Het volgende gedeelte gebruikt dit element en heeft een expliciet nulwaarde (nil-eigenschap ingesteld op true).
<myDate xsi:nil="true"></myDate>
abstract
Optioneel. Bepaalt of het element kan worden gebruikt in het instantiedocument. Als de waarde true is, mag het element niet in het instantiedocument voorkomen. In plaats daarvan moeten andere elementen met de限定名 (QName) van de substitutionGroup-eigenschap van dit element op de juiste plek voorkomen. Meerdere elementen kunnen het element refereren in hun substitutionGroup-eigenschap. Standaardwaarde is false.
block
Optioneel. Afgeleide typen. De block-eigenschap voorkomt dat elementen met een gespecificeerde afgeleide type worden gebruikt om het element te vervangen. De waarde kan #all bevatten of een lijst, die een subset is van extension, restriction of substitution:
- extension - Voorkom dat elementen die door uitbreiding zijn afgeleid, worden gebruikt om het element te vervangen.
- restriction - Voorkomt dat afgeleide elementen via restrictie worden gebruikt om dit element te vervangen.
- substitution - Voorkomt dat afgeleide elementen via vervanging worden gebruikt om dit element te vervangen.
- #all - Voorkomt dat alle afgeleide elementen worden gebruikt om dit element te vervangen.
final
Optioneel. Stel de standaardwaarde in voor de final-eigenschap van het element. Als de ouder niet het schema-element is, kan deze eigenschap niet worden gebruikt. De waarde kan #all bevatten of een lijst, die een subset is van extension of restriction:
- extension - Voorkomt dat afgeleide elementen via uitbreiding worden gebruikt om dit element te vervangen
- restriction - Voorkomt dat afgeleide elementen via restrictie worden gebruikt om dit element te vervangen
- #all - Voorkomt dat alle afgeleide elementen worden gebruikt om dit element te vervangen
alle eigenschappen
Optioneel. Bepaal alle andere eigenschappen met een non-schema naamruimte.
Voorbeeld
Voorbeeld 1
Het volgende voorbeeld is een schema dat vier eenvoudige elementen bevat: "fname", "lname", "age" en "dateborn", met typen string, nonNegativeInteger en 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>
Voorbeeld 2
Het volgende voorbeeld is een schema met een complex type "note" element. Het "note" element bevat vier eenvoudige elementen: "to", "from", "heading" en "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>
Voorbeeld 3
Dit voorbeeld is hetzelfde als voorbeeld 2, maar in dit voorbeeld kiezen we om de ref-eigenschap te gebruiken om elementnamen te verwijzen:
<?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>