XML schema学习的部分总结

来源:互联网 发布:什么是java反射机制 编辑:程序博客网 时间:2024/06/05 08:10

            刚刚学了xml schema模式,为了方便分享。在此总结一下我学习的经验。

首先schema文档都必须要使用schema元素作为其根元素。哎,直接上代码吧,来的直接,嘿嘿,,

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"><xs:element name="Orders" type="ord"/><span style="color:#ff0000;">//这里需要特别的注意,这个语句必须在此结束。因为后面定义的是他的数据类型,不结束的话后面编译就会出现错误,在这点上我吃了不少亏,呜呜。</span><xs:complexType name="ord">//定义一个复杂数据类型<xs:sequence>//<span style="color:#ff0000;">这个队列是Orders元素下的队列,当然这个队列中只有一个元素Order</span><xs:element name="Order" minOccurs="1" maxOccurs="unbounded"><xs:complexType><xs:sequence>//这个队列是Order元素下的队列<xs:element name="name" type="xs:string"/><xs:element name="number" type="B1"/>//这里相当于是调用B1函数(当然这不是个函数)<xs:element name="city" type="xs:string"/><xs:element name="zip" type="B2"/></xs:sequence><xs:attribute name="orderID" type="A1" use="required"/>//这个属性是Order元素的属性。<span style="color:#ff0000;">千万记得不要写到上面的这个队列里面去了,否则会出错。因为这个是Order的属性,只能和Order同级的元素并列不能和Order下的元素并列。</span><xs:attribute name="orderDate" type="xs:date" use="required"/>//同上。</xs:complexType></xs:element></xs:sequence></xs:complexType>//<span style="color:#ff0000;">ord复杂数据类型结束的标志。下面开启另一个数据类型的编写</span><xs:simpleType name="B1">//定义一个简单数据类型,相当于是编写B1函数。<span style="color:#ff0000;">值得注意的是:数据类型之间不能够嵌套,否则会出错。复杂数据类型和简单数据类型的关系式并列的,不存在包含关系。</span><xs:restriction base="xs:positiveInteger"><xs:maxInclusive value="99"/><xs:minInclusive value="1"/></xs:restriction></xs:simpleType><xs:simpleType name="B2"><xs:restriction base="xs:string"><xs:length value="6"/>//限制其长度只能是6个字。<xs:pattern value="\d{6}"/>//限制其格式必须是6个字并排。</xs:restriction></xs:simpleType><xs:simpleType name="A1"><xs:restriction base="xs:string"><xs:length value="4"/><xs:pattern value="[A]{1}\d{3}"/>//限制其格式必须是Axxx。</xs:restriction></xs:simpleType></xs:schema>

我认为学习schema文档模式定义主要是要分清楚,元素之间的关系,是并列关系还是所属关系。哪些属性是属于哪个元素的,然后把这个属性被包含在这个元素之中。千万不能把元素之间的关系搞混,否则就变成剪不断理还乱了。对于初学者我建议使用AltovaXMLSpy这款XMLIDE工具来编写。用这款软件编写可以很清楚的知道元素之间的包含关系(当然你在写的时候就要排好版,一层一层的来写),这样就不容易出错。在这里粗略的分享了一下我的学习经验,希望大家喜欢。还有一点就是一定要去学习schema文档的数据类型,否则很多的限制条件是无法写出的。

这个是这款IDE软件的百度云盘链接:链接:http://pan.baidu.com/s/1i3hOcvz 密码:7dqz

0 0
原创粉丝点击