XML schema学习的部分总结

            刚刚学了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值