1 / 19

XML 实用教程

XML 实用教程. 第 9 讲. XML Schema 元素详解 ( 一 ). 一个 Schema 文件根元素为 <Schema> Schema 文件关键元素有 8 种,它们对 XML 中允许的语法和结构进行定义。 Schema 语法示例: <?xml version=“1.0”?> <Schema name=“mySchema” xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> … </Schema>.

berny
Download Presentation

XML 实用教程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML实用教程 第9讲 计算机与电子系—顾兵

  2. XML Schema元素详解(一) • 一个Schema文件根元素为<Schema> • Schema文件关键元素有8种,它们对XML中允许的语法和结构进行定义。 • Schema语法示例: <?xml version=“1.0”?> <Schema name=“mySchema” xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> … </Schema> 计算机与电子系—计算机技术教研室

  3. XML Schema元素详解(二) • <ElementType>元素用于声明XML文档中使用的新元素,它是XML Schema中重要元素之一. • <element>元素对<ElementType>声明的元素的内容进行定义,说明在指定元素类型中允许使用哪些子元素. • group元素是用于将XML 文档中的元素分组。order可指定该分组中的元素或子分组的顺序. 计算机与电子系—计算机技术教研室

  4. XML Schema元素详解(三) • <AttributeType>元素定义Schema中使用的属性类型。根据出现位置不同,其作用范围也不一样。 • <attribute>元素对<AttributeType>声明的属性进行具体的定义 • 属性也可分组:<AttrGroup> • 在元素声明中引用:<AttrGroupRef> 计算机与电子系—计算机技术教研室

  5. 属性定义示例 <AttributeType name="等级" dt:type="char" required="yes"/> <AttributeType name="编号" dt:type="id" required="yes"/> <ElementType name="商品" content="eltonly"> <attribute type="等级" default="A"/> <attribute type="编号"/> </ElementType> 计算机与电子系—计算机技术教研室

  6. XML Schema元素详解(四) • <datatype>元素定义Schema元素中的数据类型,它是XML Schema中一个重要元素,也是XML Schema的一大特色,用于为ElementType和AttributeType指定数据类型。 • <description>元素的主要作用是为ElementType和AttributeType元素提供描述信息。 计算机与电子系—计算机技术教研室

  7. 初识Schema文件 9. <ElementType name= "联系人" content="eltOnly"> 10. <element type= "姓名" /> 11. <element type= "年龄" /> 12. <element type= "电话" /> 13. <element type= "地址" /> 14. </ElementType> 15. <ElementType name= "通讯录" content="eltOnly"> 16. <element type= "联系人" /> 17. <attribute type="序号"/> 18. <attribute type="性别"/> 19. </ElementType> 20.</Schema> 1. <?xml version="1.0" encoding="GB2312" ?> 2. <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> 3. <AttributeType name="序号"/> 4. <AttributeType name="性别"/> 5. <ElementType name= "姓名"/> 6. <ElementType name= "年龄"/> 7. <ElementType name= “电话” dt:type=“number"/> 8. <ElementType name= "地址" /> 计算机与电子系—计算机技术教研室

  8. Schema应用示例 • Schema文件清单: <?xml version="1.0" encoding="gb2312"?> <Schema name="stockSchema" xmlns="uri :schemas-microsoft-com:xml-data" xmlns :dt="uri:schemas-microsoft-com:datatypes" xmlns :myNS="http://www.xml_step_by_step.edu/ns.xml"> <ElementType name="持股信息" content="eltonly" dt:type="String" order="one"> <ElementType name="股东" content=“eltonly"/> <ElementType name="姓名" dt:type="String"/> <ElementType name="武商股份" dt:type="Int"/> </ElementType> </Schema> 计算机与电子系—计算机技术教研室

  9. XML文档(外部调用)清单 <?xml version="1.0" encoding="gb2312"?> <!--?xml-stylesheet type="text/xsl" href="3-13.xsl"?--> <持股信息 xmlns:stockschema="4-4(Schema).xml"> <stockschema:股东> <姓名>张祥</姓名> <武商股份>10000</武商股份> <神龙电业>8000</神龙电业> <浦发银行>15000</浦发银行> <兴和基金>6000</兴和基金> </stockschema:股东> <stockschema:股东> <姓名>刘娴</姓名> <武商股份>5000</武商股份> <神龙电业>12000</神龙电业> <浦发银行>9000</浦发银行> <兴和基金>4000</兴和基金> </stockschema:股东> </持股信息> 计算机与电子系—计算机技术教研室

  10. IE浏览器中的效果 计算机与电子系—计算机技术教研室

  11. 制定Schema示例 • XML文档booklist.xml清单: <?xml version="1.0"?> <booklist> <book> <title>Staight Talk About Computers</title> <author>Lars Peterson</author> </book> <book> <title>Digital Control System</title> <author>BENJAMIN C.KUO</author> <author>Carlos Diaz</author> </book> </booklist> 计算机与电子系—计算机技术教研室

  12. 1.为最底层元素制定规则 • 定义<title><author>为只能包含字符串的文本元素: <ElementType name=“title” content=“textonly” dt:type=“string”/> <ElementType name=“author” content=“textonly” dt:type=“string”/> 计算机与电子系—计算机技术教研室

  13. 2.为上一层子元素制定规则 • 定义<book>只能包含子元素,且子元素出现的顺序是一定的,然后,在其内部定义它包括一个<title>和任意个<author>子元素: <ElementType name=“book” content=“eltOnly” order=“seq”> <element type=“title”/> <element type=“author” maxOccurs=“*”/> </ElementType> 计算机与电子系—计算机技术教研室

  14. 3.定义根元素 • 用同样的方法说明根元素<booklist>: <ElementType name=“booklist” content=“eltOnly”> <element type=“book” minOccurs=“0” maxOccurs=“*”/> </ElementType> 计算机与电子系—计算机技术教研室

  15. 完整的XML Schema文件 • Book(schema).xml清单: <?xml version="1.0"?> <Schema name="mySchema" xmlns:="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="title" content="textonly" dt:type="string"/> <ElementType name="author" content="textonly" dt:type="string"/> <ElementType name="book" content="eltOnly" order="seq"> <element type="title"/> <element type="author" maxOccurs="*"/> </ElementType> <ElementType name="booklist" content="eltOnly"> <element type="book" minOccurs="0" maxOccurs="*"/> </ElementType> </Schema> 计算机与电子系—计算机技术教研室

  16. 修改原XML文档 • Booklist01.xml清单: <?xml version="1.0"?> <mySchema:booklist xmlns:mySchema="book(schema).xml"> <mySchema:book> <mySchema:title>Staight Talk About Computers</mySchema:title> <mySchema:author>Lars Peterson</mySchema:author> </mySchema:book> <mySchema:book> <mySchema:title>Digital Control System</mySchema:title> <mySchema:author>BENJAMIN C.KUO</mySchema:author> <mySchema:author>Carlos Diaz</mySchema:author> </mySchema:book> </mySchema:booklist> 计算机与电子系—计算机技术教研室

  17. IE游览效果 计算机与电子系—计算机技术教研室

  18. Schema的可扩展性 • 用户可在XML Schema中使用自已定义的元素和属性: <ElementType name=“price” xmlns:myExt=“urn:myextensions”dt:type=“float”> <myExt:salestax>17.5</myExt:salestax> <myExt:bulkbuy>20</myExt:bulkbuy> <myExt:discount>5.0</myExt:discount> </ElementType> 计算机与电子系—计算机技术教研室

  19. 第4章练习题 • 在XML文件中使用DTD有何好处 • Schema有什么特点 • 为学生学籍管理的XML文档设计DTD文件 • 为上题创建XML Schema文件 计算机与电子系—计算机技术教研室

More Related