【XML约束】
BridgeCloud · 收录于 2023-09-24 05:36:02 · source URL
XML约束
1、约束分类
DTD: 文档类型定义 Document Type Definition,文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
作用:用来约束XML文档,保证XML文件正确性和数据的有效性。
Schema: XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)
作用:是一种用来代替DTD约束的新的方式,功能上比DTD更加强大,可以验证数据类型。本身还是一个XML文件。
2、XML中的DTD约束
2.1 定义book.dtd约束文件
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
2.2 书写xml文件,引入book.dtd约束文件
<?xml version="1.0" encoding="UTF-8" ?>
<!--引入dtd约束文件-->
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>人鬼情喂鸟</书名>
<作者>保罗.克林吨</作者>
<售价>300</售价>
</书>
<书>
<书名>JavaEESSH</书名>
<作者>NewBoy</作者>
<售价>38</售价>
</书>
</书架>
2.3 book.dtd约束文件引入注意事项
<!--表示引用系统本地的DTD文件,使用范围比较窄,通常用于个人或公司或团队。-->
<!DOCTYPE 根元素 SYSTEM "DTD文件">
<!--表示公共DTD约束文件,通常在互联网上广泛使用的,后期使用这种比较多的。-->
<!DOCTYPE 根元素 PUBLIC "文件描述" "DTD文件">
3、XML中的Schema约束
3.1 book.xsd编写
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.www.com.cn"
xmlns="http://www.www.com.cn"
elementFormDefault="qualified">
<xs:group name="info">
<xs:sequence>
<xs:element name="name" type="nameType"/>
<xs:element name="age" type="xs:string"/>
<xs:element name="education" type="xs:string"/>
</xs:sequence>
</xs:group>
<xs:complexType name="nameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="sex" default="女" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="personal" maxOccurs="unbounded">
<xs:complexType>
<xs:group ref="info"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
3.2 书写xml文件,引入book.xsd约束文件
<root xmlns="http://www.www.com.cn"
xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"
xsd:schemaLocation="http://www.www.com.cn book.xsd">
<personal>
<name></name>
<age></age>
<education></education>
</personal>
</root>
3.3 book.xsd约束文件引入注意事项
book.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace= “http://www.www.com.cn”
xmlns= “http://www.www.com.cn”
elementFormDefault=“qualified”>
xml:
<root xmlns= “http://www.www.com.cn”
xmlns:xsd=“http://www.w3.org/2001/XMLSchema
-instance”
xsd:schemaLocation=“http://www.www.com.cn book.xsd”>
相同颜色标记需要相同,否则IDEA中会报错。