【XML约束】

1、约束分类

DTD: 文档类型定义 Document Type Definition,文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
作用:用来约束XML文档,保证XML文件正确性和数据的有效性。

DTD学习网址


Schema: XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)
作用:是一种用来代替DTD约束的新的方式,功能上比DTD更加强大,可以验证数据类型。本身还是一个XML文件。

Schema参考文档网址

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中会报错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BridgeCloud

生活不易,多多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值