内容摘要:本文展示了模式的灵活性,说明如何使用 XML Schema 系统来定义最基本的 XML 文档构造块——元素。
新的 XML Schema 系统即将成为 W3C 推荐标准,目的是为了克服 DTD 的局限性(请参阅侧栏, DTD 的局限性 ),为 XML 文档提供丰富的语法结构。本文展示了模式的灵活性,说明如何使用 XML Schema 系统来定义最基本的 XML 文档构造块——元素。
XML Schema 比 DTD 更强大。为了说明 XML Schema 机制的强大功能,下面三个程序清单简要比较了表示元素的不同方式。 清单 1给出了一个 XML 文档片段, 清单 2用 DTD 语法声明了这两个元素, 清单 3则是相应的 XML Schema 语法形式。要注意, 清单 3中所用的是相同的 XML 语法。通过模式,验证解析器可以检查元素 InvoiceNo 是否是正整数,元素 ProductID 的首字符是否为 A 到 Z 之间的字母,后面为六个阿拉伯数字。相反,引用 DTD 的验证解析器只能检查这些元素是否用字符串表示。
清单 1:XML 文档片段
以下是引用片段:
<InvoiceNo>123456789</InvoiceNo>
<ProductID>J123456</ProductID>
清单 2:描述清单 1 中元素的 DTD 片段
以下是引用片段:
<!ELEMENTInvoiceNo(#PCDATA)>
<!ELEMENTProductID(#PCDATA)>
清单 3:描述清单 1 中元素的 XML Schema
以下是引用片段:
<elementname='InvoiceNo'type='positive-integer'/>
<elementname='ProductID'type='ProductCode'/>
<simpleTypename='ProductCode'base='string'>
<patternvalue='[A-Z]{1}d{6}'/>
</simpleType>
在 XML Schema 中使用名称空间
责编:豆豆技术应用