正在加载图片...
第七篇高级应用 <!ELEMENT time(#PCDATA)> <!ELEMENT value(#PCDATA) <!ATTLIST value(unit)> 显然,它所能表达的意思就少了很多 从Java等面向对象语言中引入的继承的特性,还包括了可以定义抽象元素来迫使实现 子类元素,或者定义一个终结元素来禁止元素再被其它元素所继承。这使得从元素到Java 或者C++语言的类的一一映射变得更为直观可行。 二、基数表达 ML Schema比起DTD来能够更方便的表达元素基数的概念。所谓基数是指一个元素 在文档中出现的次数。在DTD中,使用的是正则表达式来表示基数的,而正则表达式的表 达能力在所有的形式化文法中是最低的,这使得你在定义文档的时候会遇到很多的困难。你 只能够指定一次(1),零次或者更多(*),一次或者更多(+)这三种基数,并用这些基数序 列来构成DTD。 XML Schema中则是使用 minOccurs和 maxoccurs这两个属性来定义元素 基数,分别用来指定元素出现的最少次数和最多次数 <element ref="optional Element"minOccurs="0"7> <element ref="twoOrMoreElements"minOccurs=2 "maxOccurs="unbounded "A <element ref=exactly OneElement"/> min Occurs和 maxOccurs的缺省值都是1,也就是说,当没有指定这两个属性的时候, 元素只允许在文档中出现一次。除了这两个属性,你还可以用 choice和a这两个元素。元 素 choice只允许它的所有子元素中的一个出现在文档中。而元素all则最为宽松,能够让其 所有的子元素在文档中以任意的顺序出现任意的次数。而这些概念在DTD中都是难以表达 的 <xsd: choice> <element ref="Either This"/> <element ref="Or That"p> </xsd: choice <xsd: all> <element ref="Ying"I> <element ref="Yang"/ c/ xsd all>> 三、名域 XML Schema中还支持名域。一个 Schema除了可以定义XML文档词汇表外,还可以 通过名域来定义目标名域,和其它可能会使用到的词汇名域。例如 <xsd: schema targetnamespace=&single;http://www.physics.com/measurements&single; xminsxsd=&single;http://www.w3.org/1999/xmlschema&single: &single;http://www.physics.com/units&single>第七篇 高级应用 <!ELEMENT time (#PCDATA)> <!ELEMENT value (#PCDATA)> <!ATTLIST value (unit)> 显然,它所能表达的意思就少了很多。 从 Java 等面向对象语言中引入的继承的特性,还包括了可以定义抽象元素来迫使实现 子类元素,或者定义一个终结元素来禁止元素再被其它元素所继承。这使得从元素到 Java 或者 C++语言的类的一一映射变得更为直观可行。 二、基数表达 XML Schema 比起 DTD 来能够更方便的表达元素基数的概念。所谓基数是指一个元素 在文档中出现的次数。在 DTD 中,使用的是正则表达式来表示基数的,而正则表达式的表 达能力在所有的形式化文法中是最低的,这使得你在定义文档的时候会遇到很多的困难。你 只能够指定一次(1),零次或者更多 (*),一次或者更多 (+) 这三种基数,并用这些基数序 列来构成 DTD。XML Schema 中则是使用 minOccurs 和 maxOccurs 这两个属性来定义元素 基数,分别用来指定元素出现的最少次数和最多次数: <element ref="optionalElement" minOccurs="0"/> <element ref="twoOrMoreElements" minOccurs="2" maxOccurs="unbounded"/> <element ref="exactlyOneElement" /> minOccurs 和 maxOccurs 的缺省值都是 1,也就是说,当没有指定这两个属性的时候, 元素只允许在文档中出现一次。除了这两个属性,你还可以用 choice 和 all 这两个元素。元 素 choice 只允许它的所有子元素中的一个出现在文档中。而元素 all 则最为宽松,能够让其 所有的子元素在文档中以任意的顺序出现任意的次数。而这些概念在 DTD 中都是难以表达 的。 <xsd:choice> <element ref="EitherThis"/> <element ref="OrThat"/> </xsd:choice> <xsd:all> <element ref="Ying"/> <element ref="Yang"/> </xsd:all/> 三、名域 XML Schema 中还支持名域。一个 Schema 除了可以定义 XML 文档词汇表外,还可以 通过名域来定义目标名域,和其它可能会使用到的词汇名域。例如: <xsd:schema targetNamespace=&single;http://www.physics.com/measurements&single; xmlns:xsd=&single;http://www.w3.org/1999/XMLSchema&single; xmlns:units= &single;http://www.physics.com/units&single;>
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有