XML Schema extension-element
Definitie en gebruik
Het extension-element breidt elementen van simpleType of complexType uit.
Elementinformatie
Aantal verschijningen | eenmalig |
Ouder-element | complexContent |
Inhoud | annotation, attribute, attributeGroup, anyAttribute, choice, all, sequence, group |
Grammatica
<extension id=ID basis=QName alle attributen > (annotation?,((group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?))) </extension>
Eigenschap | Beschrijving |
---|---|
id | Optioneel. Bepaalt de unieke ID van het element. |
base | Verplicht. Bepaalt de naam van de ingebouwde datatypes, simpleType of complexType-elementen. |
xml:lang | Optioneel. Bepaalt de taal die in de inhoud wordt gebruikt. |
(? Het teken wordt in het element extension gedeclareerd, dit element mag nul of één keer voorkomen, * het teken声明该元素可出现零次或多次。)
Voorbeeld
Voorbeeld 1
Het volgende voorbeeld voegt een eigenschap toe om een bestaande simpleType uit te breiden:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="size"> <xs:restriction base="xs:string"> <xs:enumeration value="small" /> <xs:enumeration value="medium" /> <xs:enumeration value="large" /> </xs:restriction> </xs:simpleType> <xs:complexType name="jeans"> <xs:simpleContent> <xs:extension base="size"> <xs:attribute name="sex"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="male" /> <xs:enumeration value="female" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>
Voorbeeld 2
De volgende voorbeeld voegt drie elementen toe om een bestaande complexType-element te uitbreiden:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>