当前位置: 首页 > 图文教程 > XML家族 > XML Schema > 如何定义相同子元素的数量

XML Schema
XML Schema全接触(XML定义语言)
XML Schema全接触(XML Schema和名域 )
XML,XML Schema概念,基础
XML Schema学习
XML Schema:手工编写一个XML Schema(XSD)的实例
XML Schema:理解XML Schema: XML Schema 初步(一)
schema 编译(java & xml & schema)

XML Schema 中的 如何定义相同子元素的数量


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 266 ::
收藏到网摘: n/a

先看这个简单的订购数据实例文档:

order.xml
---------
<order>
  <orderItem>Accounting Book</orderItem>
  <orderItem>Taxation Book</orderItem>
</order>

假设<orderItem>元素,即每次的订购书目不能超过10种,那该怎么写这个Schema文档呢?这里要用到<element>的maxOccurs属性。

order.xsd
--------------------
1:<?xml version="1.0"?>
2:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3:
4:  <xsd:element name="order">
5:    <xsd:complexType>
6:      <xsd:sequence>
7:        <xsd:element name="orderItem"   type="xsd:string"  maxOccurs="10" />
8:      </xsd:sequence>
9:    </xsd:complexType>
10:  </xsd:element>
11:
12:</xsd:schema>

第7行中的maxOccurs属性为10,代表orderItem元素可以最大有10个。如果,不设定元素个数,则可以用maxOccurs="unbounded"来定义.

类似,如果要定义最小值,可以使用minOccurs,比如下面这句:
<xsd:element name="orderItem" type="xsd:string" minOccurs="5" maxOccurs="10"/>
这两个属性缺省值都是1。