使用W3C XML Schema(5)
来源:互联网 发布:客户达软件怎么样 编辑:程序博客网 时间:2024/05/16 14:48
内容类型
在文章的第一部分,我们检查了默认的内容类型行为,在面向数据的文档后建模,发现复杂类型的元素只是元素和属性,并且简单类型的元素是没有属性的字符数据。
W3C XML Schema 定义语言也支持定义空白内容元素,以及具有属性的简单内容(它们只包含字符串数据)。
空白内容元素使用xs:complexType结构并有意的忽略定义子元素。下列结构定义一个空白book元素并接受一个isbn属性。
<xs:element name="book">
<xs:complexType>
<xs:attribute name="isbn" type="isbnType"/>
</xs:complexType>
</xs:element>
<xs:complexType>
<xs:attribute name="isbn" type="isbnType"/>
</xs:complexType>
</xs:element>
简单的内容元素,例如,具有属性的字符串数据元素,可以使用xs:simpleContent从简单类型派生。上面定义的book元素因此被扩展成可以接受一个文本数据:
<xs:element name="book">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="isbn" type="isbnType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="isbn" type="isbnType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
注意属性定义的位置,显示扩展点是通过扩展属性完成的。这个定义将会接受下面的XML元素:
<book isbn="0836217462">
Funny book by Charles M. Schulz.
Its title (Being a Dog Is a Full-Time Job) says it all !
</book>
Funny book by Charles M. Schulz.
Its title (Being a Dog Is a Full-Time Job) says it all !
</book>
W3C XML Schema在 xs:complexType 元素中通过混合属性支持混合的内容。考虑下:
<xs:element name="book">
<xs:complexType mixed="true">
<xs:all>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
</xs:all>
<xs:attribute name="isbn" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:complexType mixed="true">
<xs:all>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
</xs:all>
<xs:attribute name="isbn" type="xs:string"/>
</xs:complexType>
</xs:element>
将验证这样的XML文件,如下:
<book isbn="0836217462">
Funny book by <author>Charles M. Schulz</author>.
Its title (<title>Being a Dog Is a Full-Time Job</title>) says it all !
</book>
Funny book by <author>Charles M. Schulz</author>.
Its title (<title>Being a Dog Is a Full-Time Job</title>) says it all !
</book>
不像DTD那样,W3C XML Schema 混合内容不修改子元素的约束,简单内容模型可以使用相同的方式表示。虽然这是较XML 1.0 DTD重要的改进,但注意字符数据值以及其相对子元素的位置,其不能应用约束。
- 使用W3C XML Schema(5)
- 使用W3C XML Schema(1)
- 使用W3C XML Schema(2)
- 使用W3C XML Schema(3)
- 使用W3C XML Schema(4)
- 使用W3C XML Schema(6)
- 使用W3C XML Schema(7)
- 使用W3C XML Schema(8)
- 使用W3C XML Schema(1)
- 使用W3C XML Schema(2)
- XML学习---Schema(W3C)
- 使用W3C XML Schema(9)(全文完)
- 使用W3C XML Schema(3结束)
- W3C XML Schema 教程 (二)
- W3C XML Schema 教程 (三)
- W3C XML Schema 教程
- XML Schema(W3C)数据类型
- W3C Schema Validation With XML::LibXML
- 面向对象的三个基本特征(讲解)
- 10年内Xbox360/PS3和Wii游戏机将彻底消失
- 传土豆网未获广电总局牌照 土豆网不表态
- IE代理问题
- 悉尼今晚率先熄灯一小时 抗击全球气候变化
- 使用W3C XML Schema(5)
- Local System 权限读取用户IE 代理设置的研究及简单HTTP代理验证
- java设计模式之单例模式
- 下载指定代理文件调用IE使用代理访问指定网站的代码
- 使用Fireworks制作透明gif文件
- PMP真的就是“拍马屁”
- 免费的Javascript日期输入及选择控件大杂烩!
- 编译ERROR C2440
- Windows 2003安全设置大全