【XML】Schema 总结

1、XML Schema 具体是什么呢?

  XML Schema 本身用来定义XML格式,构造的语言的一种。有W3C加以开发,标准定义也是一种XML构造,它用来描述[哪个元素,在什么时候出现,该元素具有什么样的属性等等,也就是说,XML Schema是对XML的树形构造加以描述说明的一种语言。原本,使用DTD对XML的树形构造加以描述说明,但DTD存在严重的局限性,DTD不能定义数据的类型,语法也与XML语言完全不一样,在使用的便利性,数据结构表达的严谨性上存在问题。

2、为什么需要XML Schema?

  XML作为数据载体,可以用来描述各种各样的数据。在系统开发中,可以使用XML在系统(或不同功能模块)之间传递数据,也可以使用XML作为配置文件,数据文件等。
但系统使用XML,需要对XML文件本身加以解析,也就是说,系统需要知道XML文件的格式是什么。

  比如下面两个XML文件:

  hello.xml

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0"?>   
<hello>World</hello>  </span>

  order.xml

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0"?>   
<order>   
    <id>01</id>   
    <name>Order Book</name>   
    <price>100.00</price>   
</order>  
</span>

  解释:

  它们的格式不一样,所代表的意思也不一样。一般来说,一个系统只能处理那些事先决定好的具有固定构造的XML文档。也就是说,系统在使用它们之前,需要判别它们是否是合法的XML文件格式。而XML Schema则刚好可以很好地对XML构造加以描述。事实上,一些XML解析器,以及某些工具需要借助XML Schema来处理XML。

3、简单的XML Schema例

 我们为上面的例子写一个简单的XML Schema:
  hello.xml
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0"?>   
<hello>World</hello>  
</span>
  hello.xsd
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="utf-8"?>   
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">   
    <xs:element name="hello" type="xsd:string">   
</xs:schema>  
</span>

4、解说:

 第一行:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="utf-8"?></span>
 XML申明。XML Schema本身也是XML文档,所以它遵循XML记述语法。使用encoding属性指定文档的编码格式。

 根节点:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"></span>

 其中xs是命名空间,schema是根节点名。注意xs:schema与xmlns:xs中的xs要完全一样(名称可以任意,只要一样就可以),它标明以xs:开头的节点元素是http://www.w3.org/2001/XMLSchema定义的元素。

 element元素

    <xs:element name="hello" type="xs:string">

 上面已经说明,xs:element表示element是http://www.w3.org/2001/XMLSchema中定义的元素。它的name属性用来定义它所描述的XML文档中的节点名。type是表示该节点的值的类型。这里的xs:string(string类型)表示hello节点不能包含子节点,不能包含属性,它的内容值应该是string类型。

  除了string之外,XML Schema还有很多其他类型希望小伙伴能自己去发现了,以后我们在研究。。。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值