XSD phần tử <any>
- Trang trước Chỉ số XSD
- Trang tiếp theo XSD <anyAttribute>
Phần tử <any> cho phép chúng ta mở rộng tài liệu XML bằng cách sử dụng các phần tử không được quy định trong schema!
Phần tử <any>
Phần tử <any> cho phép chúng ta mở rộng tài liệu XML bằng cách sử dụng các phần tử không được quy định trong schema!
Dưới đây là đoạn mã được trích từ schema XML có tên là "family.xsd" này. Nó trình bày một phần tử khai báo cho phần tử "person" thông qua việc sử dụng phần tử <any>, chúng ta có thể mở rộng nội dung của "person" bằng bất kỳ phần tử nào (sau <lastname>):
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
Hiện tại, chúng tôi hy vọng sẽ sử dụng phần tử "children" để mở rộng phần tử "person" này. Trong trường hợp này, chúng ta có thể làm như vậy, ngay cả khi tác giả của schema này không tuyên bố bất kỳ phần tử "children" nào.
Xin xem tệp schema này, được đặt tên là "children.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.codew3c.com" xmlns="http://www.codew3c.com" elementFormDefault="qualified"> <xs:element name="children"> <xs:complexType> <xs:sequence> <xs:element name="childname" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Tệp XML này (được đặt tên là "Myfamily.xml") sử dụng các thành phần từ hai schema khác nhau, "family.xsd" và "children.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.codew3c.com children.xsd"> <person> <firstname>David</firstname> <lastname>Smith</lastname> <children> <childname>mike</childname> </children> </person> <person> <firstname>Tony</firstname> <lastname>Smith</lastname> </person> </persons>
Tệp XML này là hợp lệ, điều này là do schema "family.xsd" cho phép chúng ta mở rộng phần tử "person" bằng cách thêm các phần tử tùy chọn sau phần tử "lastname".
<any> và <anyAttribute> đều có thể được sử dụng để tạo tài liệu mở rộng! Chúng cho tài liệu khả năng chứa các phần tử bổ sung mà không được khai báo trong schema XML chính.
- Trang trước Chỉ số XSD
- Trang tiếp theo XSD <anyAttribute>