Element group của XML Schema

Định nghĩa và cách sử dụng

group element được sử dụng để định nghĩa nhóm element được sử dụng trong định nghĩa complex type.

Thông tin element

Lần xuất hiện Không có giới hạn
Element cha schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent)
Nội dung annotation、all、choice、sequence

cú pháp

<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 phần tử group, phần tử này có thể xuất hiện không lần hoặc một lần.)

Thuộc tính

id

Tùy chọn. Định nghĩa ID duy nhất của phần tử này.

name

Tùy chọn. Định nghĩa tên của nhóm. 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 phần tử schema là phần tử cha của phần tử group. Trong trường hợp này, group là nhóm mô hình được sử dụng bởi các phần tử complexType, choice và sequence.

Thuộc tính name và thuộc tính 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 nhóm 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à thuộc tính 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à phần tử group có thể xuất hiện trong phần tử 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à phần tử group có thể xuất hiện trong phần tử 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 có schéma.

Mô hình

Ví dụ 1

Dưới đây là ví dụ định nghĩa một nhóm chuỗi chứa bốn phần tử và sử dụng phần tử 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>