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>