- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
黑马程序员javaweb教程:Schema
Schema
Schema概述
我们学习Schema的第一目标是:参照Schema的要求可以编写XML文档;
第二目标是:可以自己来定义Schema文档。
1 Schema是什么
XML文档的约束,用来替代DTD。
DTD文档不是XML语法,而Schema本身也是XML文档,这对解析器来说不用再去处理非XML的文档了;
DTD只能表述平台线束,而Schema本身也是XML,所以可以描述结构化的约束信息。
DTD不只约束元素或属性的类型,但Schema可以。例如让age属性的取值在0~100之间。
Schema文档的扩展名为xsd,即XML Schema Definition。
为students.xml编写DTD
!ELEMENT students (student+)
!ELEMENT student (name,age,sex)
!ELEMENT name (#PCDATA)
!ELEMENT age (#PCDATA)
!ELEMENT sex (#PCDATA)
!ATTLIST student number CDATA #REQUIRED
3 为students.xml编写schema
?xml version=1.0?
xsd:schema xmlns:xsd=/2001/XMLSchema
xsd:element name=students type=studentsType/
xsd:complexType name=studentsType
xsd:sequence
xsd:element name=student type=studentType minOccurs=0 maxOccurs=unbounded/
/xsd:sequence
/xsd:complexType
xsd:complexType name=studentType
xsd:sequence
xsd:element name=name type=xsd:string/
xsd:element name=age
xsd:simpleType
xsd:restriction base=xsd:integer
xsd:maxInclusive value=100/
xsd:minInclusive value=0/
/xsd:restriction
/xsd:simpleType
/xsd:element
xsd:element name=sex
xsd:simpleType
xsd:restriction base=xsd:string
xsd:enumeration value=男/
xsd:enumeration value=女/
/xsd:restriction
/xsd:simpleType
/xsd:element
/xsd:sequence
xsd:attribute name=number type=xsd:string/
/xsd:complexType
/xsd:schema
4 参照Schema编写XML文档
我们参照上面的Schema文档编写一个studens.xml文件
?xml version=1.0 encoding=utf-8 standalone=no ?students xmlns:xsi=/2001/XMLSchema-instance ????xsi:noNamespaceSchemaLocation=students.xsd????student number=ID_1001????????name张三/name????????age23/age????????sex男/sex????/student????student number=ID_1002????????name李四/name????????age32/age????????sex女/sex????/student????student number=ID_1003????????name王五/name????????age50/age????????sex男/sex????/student/students
Schema基本语法
1 Schema内置类型
前面已经看见了,Schema中有很多内置的类型,例如:xsd:string、xsd:integer等,下面我们把Schema的常用内置类型介绍一下。
这里要说明一下,Schema中的“名称空间”相关内容最后我们再来讲解,所以现在可能会有很多与名称空间
文档评论(0)