XML Schema group 元素
定义和用法
group 元素用于定义在复杂类型定义中使用的元素组。
元素信息
出现次数 | 无限制 |
父元素 | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
内容 | annotation、all、choice、sequence |
语法
<group id=ID name=NCName ref=QName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger bất kỳ thuộc tính nào > annotation?,(all|choice|sequence)?) </group>
(? ký hiệu khai báo trong element group, element này có thể xuất hiện 0 hoặc 1 lần.)
Thuộc tính
id
Tùy chọn. Định nghĩa ID duy nhất của element. ID này phải là duy nhất trong toàn bộ document.
name
Tùy chọn. Định nghĩa tên của group. Tên này phải là tên không có dấu chấm (NCName) được định nghĩa trong quy định không gian tên XML.
Chỉ sử dụng thuộc tính này khi element schema là element cha của element group. Trong trường hợp này, group được sử dụng bởi element complexType, choice và sequence là mô hình group.
Thuộc tính name và ref không thể xuất hiện cùng lúc.
ref
Tùy chọn. Tham chiếu tên của một group khác. Giá trị ref phải là QName. ref có thể chứa tiền tố không gian tên.
Thuộc tính name và ref không thể xuất hiện cùng lúc.
maxOccurs
Tùy chọn. Định nghĩa số lần tối đa mà element group có thể xuất hiện trong element cha. Giá trị này có thể là số nguyên dương hoặc bằng không. Nếu không muốn đặt giới hạn số lần tối đa, hãy sử dụng chuỗi "unbounded". Giá trị mặc định là 1.
minOccurs
Tùy chọn. Định nghĩa số lần tối thiểu mà element group có thể xuất hiện trong element cha. Giá trị này có thể là số nguyên dương hoặc bằng không. Giá trị mặc định là 1.
bất kỳ thuộc tính nào
Tùy chọn. Định nghĩa bất kỳ thuộc tính nào có không gian tên không phải schema.
Mẫu
Ví dụ 1
Dưới đây là ví dụ định nghĩa một nhóm sequence chứa bốn yếu tố và sử dụng element group này trong định nghĩa loại phức tạp:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:group name="custGroup"> <xs:sequence> <xs:element name="customer" type="xs:string"/> <xs:element name="orderdetails" type="xs:string"/> <xs:element name="billto" type="xs:string"/> <xs:element name="shipto" type="xs:string"/> </xs:sequence> </xs:group> <xs:element name="order" type="ordertype"/> <xs:complexType name="ordertype"> <xs:group ref="custGroup"/> <xs:attribute name="status" type="xs:string"/> </xs:complexType> </xs:schema>