您的位置:首页 > 其它

schema校验文件编写,常用元素使用

2016-01-06 00:00 609 查看
摘要: 作为开发者,应该接触过很多的xml文件,如果你有注意你会发现这些配置文件并不是随意编写的,都是有要求的、有规则。这些要求和规则都是可以用schema文件去约束。

作为开发者,应该接触过很多的xml文件,如果你有注意你会发现这些配置文件并不是随意编写的,都是有要求的、有规则。这些要求和规则都是可以用schema文件去约束。
下面2段代码作为自己笔记保存着。

看下面的代码,前面的文件是普通的xml文件,后面的文件是格式校验的schema文件。

<?xml version="1.0" encoding="UTF-8"?>
<business xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com tpl-schema.xsd">

<!-- 业务Z0007的导出模板配置 -->
<busi id="Z0007" cols="3" show_type="view">
<param key="CUST_NAME" text="客户名称" />
<param key="SEX" text="性别" dict='SEX_TYPE' />
<param key="KEY1|KEY2|KEY3" text="地址(省市区)" dict='dict1|dict2|dict3' />
</busi>

<busi id="z008" cols="4" show_type="table">
<param key="CUST_NAME" text="客户名称" />
</busi>
</business>

注意下面这个行代码
xsi:schemaLocation="http://www.w3schools.com tpl-schema.xsd"

tpl-schema.xsd为格式校验的文件,并且与xml文件放在同一个目录下。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<!-- elementFormDefault="qualified" 指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。 -->

<xsd:element name="business">
<xsd:complexType>
<xsd:sequence>
<!-- maxOccurs="unbounded" 设定次元素可以出现任意次 -->
<xsd:element name="busi" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="param" maxOccurs="unbounded">
<xsd:complexType>
<!-- use="required" 限定属性必填 -->
<xsd:attribute name="key" type="xsd:string" use="required"/>
<xsd:attribute name="text" type="xsd:string" use="required"/>
<xsd:attribute name="dict" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>

<!-- 定义busi拥有的属性,以及属性的类型 -->
<xsd:attribute name="id" type="xsd:string" use="required" />
<!-- 限定这个属性的属性值只能是table或者view -->
<xsd:attribute name="show_type" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="table" />
<xsd:enumeration value="view" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="cols" type="xsd:integer" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

关于文件内容解释清看注释信息。

参考网址:
http://www.w3chtml.com/schema/xml-schema-root.html
http://www.cnblogs.com/caoxch/archive/2006/11/17/563856.html
https://www.ibm.com/developerworks/cn/xml/x-cert/part6/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: