DTD、Schema约束
什么是XML约束XML语法: 规范的xml文件的基本编写规则。(由w3c组织制定的) <?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="001" name="eric">
<name>张三</name>
<age>20</age>
<phone>134222223333</phone>
<email>zhangsan@qq.com</email>
<qq>432221111</qq>
</contact>
</contactList>
以上是一个xml文档,如 两种约束:DTD约束:语法相对简单,功能也相对简单。学习成本也低。 DTD约束三种导入约束的方法内部导入book.xml <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE 书架 [ <!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)> <!ATTLIST 书 id ID #REQUIRED> ]>
<书架>
<书 id="id1">
<书名>Java就业培训教程</书名>
<作者>张孝祥</作者>
<售价>39.00元</售价>
</书>
<书 id="id2">
<书名>mySql</书名>
<作者>王明</作者>
<售价>28.00元</售价>
</书>
</书架>
外部导入book.xml <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书 id="id1">
<书名>Java就业培训教程</书名>
<作者>张孝祥</作者>
<售价>39.00元</售价>
</书>
<书 id="id2">
<书名>mySql</书名>
<作者>王明</作者>
<售价>28.00元</售价>
</书>
</书架>
book.dtd <!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
<!ATTLIST 书 id ID #REQUIRED>
互联网导入<!DOCTYPE 根元素 PUBLIC "dtd文件的地址">
DTD语法(约束标签、属性、文本)标签约束<!ELEMENT 元素名称 类别> 或 <!ELEMENT 元素名称 (元素内容)>
1、类别: 属性约束<!ATTLIST 元素名称 属性名称 属性类型 默认值>
1、属性类型:控制属性值的 Schema约束什么是Schema约束XML Schema 也是一种用于定义和描述 XML 文档结构与内容的模式语言,其出现是为了克服 DTD 的局限性,现在已是w3c组织的标准,它正逐步取代DTD。 DTD VS Schema
使用Schema约束例一:book.xsd(一个XML Schema文档通常称之为模式文档(约束文档)) <?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www. itcast.cn" elementFormDefault="qualified">
<xs:element name='书架' >
<xs:complexType>
<xs:sequence maxOccurs='unbounded' >
<xs:element name='书' >
<xs:complexType>
<xs:sequence>
<xs:element name='书名' type='xs:string' />
<xs:element name='作者' type='xs:string' />
<xs:element name='售价' type='xs:string' />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
book.xml(遵循这个文档书写的xml文件称之为实例文档) <?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.itcast.cn book.xsd">
<itcast:书>
<itcast:书名>JavaScript网页开发</itcast:书名>
<itcast:作者>张孝祥</itcast:作者>
<itcast:售价>28.00元</itcast:售价>
</itcast:书>
</itcast:书架>
1、对book.xsd的分析:
2、对book.xml的分析
例二:使用命名空间引入多个schema文档<?xml version="1.0" encoding="UTF-8"?> <书架 xmlns="http://www.it315.org/xmlbook/schema" <!-- 默认命名空间 --> xmlns:demo="http://www.it315.org/demo/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.it315.org/xmlbook/schema http://www.it315.org/xmlbook.xsd http://www.it315.org/demo/schema http://www.it315.org/demo.xsd"> <书> <书名>JavaScript网页开发</书名> <作者>张孝祥</作者> <售价 demo:币种=”人民币”>28.00元</售价><!-- "币种"这个属性使用demo命名空间,标签全部使用的是默认命名空间 --> </书> </书架>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |