XML Schema complexType-element
definition och användning
complexType-element definierar en komplex typ. Element av komplex typ innehåller andra element och/eller egenskaper i XML-element.
elementinformation
antal förekomster | inte begränsat inom ramverket; en gång inom elementet. |
förälement | element, redefine, schema |
innehåll | annotation, simpleContent, complexContent, group, all, choice, sequence, attribute, attributeGroup, anyAttribute |
Syntax
<complexType id=ID name=NCName abstract=true|false mixed=true|false block=(#all|lista av (extension|restriction)) final=(#all|lista av (extension|restriction)) alla attribut > (annotation?,(simpleContent|complexContent|((group|all| choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)))) </complexType>
(? Tecken förklaringar i complexType-elementet, elementen kan förekomma noll eller en gång, *-tecken förklaringar element kan förekomma noll eller flera gånger.)
Egenskaper
id
Valfritt. Ange det unika ID:et för detta element.
name
Valfritt. Ange elementets namn.
abstract
Valfritt. Ange om den komplexa typen får användas i instansdokumentet. Om värdet är true får elementet inte använda den komplexa typen direkt, utan måste använda en komplex typ som härleds från den komplexa typen. Standardvärdet är false.
mixed
Valfritt. Ange om tecken数据 får förekomma mellan underelementen i denna komplexa typ. Standardvärdet är false.
- Om simpleContent-elementet är ett underelement är mixed-egenskapen inte tillåten.
- Om complexContent-elementet är ett underelement kan detta mixed-egenskap skrivas över av complexContent-elementets mixed-egenskap.
block
Valfritt. Förhindra att komplexa typer med den specifika härledningsformen används för att ersätta denna komplexa typ. Värdet kan innehålla #all eller en lista, där listan är en delmängd av extension eller restriction:
- extension - Förhindra att komplexa typer som härleds genom utökning används för att ersätta denna komplexa typ.
- restriction - Förhindra att komplexa typer som härleds genom begränsning används för att ersätta denna komplexa typ.
- #all - Förhindra att alla härledna komplexa typer används för att ersätta denna komplexa typ.
final
Valfritt. Förhindra att den specifika typen som härleds från denna complexType-element används. Värdet kan innehålla #all eller en lista, där listan är en delmängd av extension eller restriction.
- extension - Förhindra avledningar genom utökning.
- restriction - Förhindra avledningar genom begränsning.
- #all - Förhindra alla avledningar (utökningar och begränsningar).
alla attribut
Valfritt. Ange eventuella andra attribut med non-schema namnrymd.
Exempel
Exempel 1
I detta exempel finns det en komplex typ element med namn "note":
<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>
Exempel 2
I ett komplex typ "fullpersoninfo" som utökar den inarbetade typen genom att använda tre tilläggselement (address, city och country) och härstammar från den komplexa typen "personinfo":
<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>
I de ovanstående exemplen måste "employee"-elementet i följd ordning innehålla följande element: "firstname", "lastname", "address", "city" och "country".