Phần tử complexType của lược đồ XML
❮ Tham chiếu lược đồ XML hoàn chỉnh
Định nghĩa và Cách sử dụng
Phần tử complexType định nghĩa một kiểu phức tạp. Phần tử kiểu phức hợp là phần tử XML có chứa các phần tử và / hoặc thuộc tính khác.
Thông tin phần tử
- Phần tử chính: phần tử, xác định lại, giản đồ
Cú pháp
<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>
(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))
</complexType>
(Dấu? Khai báo rằng phần tử có thể xảy ra 0 hoặc một lần và dấu * tuyên bố rằng phần tử có thể xảy ra 0 hoặc nhiều lần bên trong phần tử complexType)
Attribute | Description |
---|---|
id | Optional. Specifies a unique ID for the element |
name | Optional. Specifies a name for the element |
abstract | Optional. Specifies whether the complex type can be used in an instance document. True indicates that an element cannot use this complex type directly but must use a complex type derived from this complex type. Default is false |
mixed | Optional. Specifies whether character data is allowed to appear between the child elements of this complexType element. Default is false. If a simpleContent element is a child element, the mixed attribute is not allowed! |
block | Optional. Prevents a complex type that has a specified type
of derivation from being used in place of this complex type. This value can
contain #all or a list that is a subset of extension or restriction:
|
final | Optional. Prevents a specified type of derivation of this
complex type element. Can contain #all or a list that is a subset of
extension or restriction.
|
any attributes | Optional. Specifies any other attributes with non-schema namespace |
ví dụ 1
Ví dụ sau có một phần tử tên là "note" thuộc loại phức tạp:
<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>
Ví dụ 2
Ví dụ sau có một kiểu phức tạp, "fullpersoninfo", bắt nguồn từ một kiểu phức tạp khác, "personinfo", bằng cách mở rộng kiểu kế thừa với ba phần tử bổ sung (địa chỉ, thành phố và quốc gia):
<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>
Trong ví dụ trên, phần tử "nhân viên" phải chứa theo thứ tự các phần tử sau: "tên", "họ", "địa chỉ", "thành phố" và "quốc gia".
❮ Tham chiếu lược đồ XML hoàn chỉnh