day075:XML的约束:DTD约束文档、DTD约束文档的三种引入方法、DTD语法规则

2 篇文章 0 订阅
1 篇文章 0 订阅

目录

一、DTD约束

1.什么是DTD约束

2.创建DTD约束文档的步骤

3.代码示例:

4.引入DTD约束文档的三种方法

(1)引入本地DTD约束文档

(2)在xml文件内部引入

(3)从网络引入dtd文件

二、DTD语法规则

DTD定义元素(标签):

1.图解

2.符号

DTD定义属性:

1.图解

2.定义属性的格式


一、DTD约束

1.什么是DTD约束

用来限定xml文件中可使用的标签以及属性

2.创建DTD约束文档的步骤

(1)创建一个文件,后缀名为.dtd

(2)看xml文件中使用了哪些标签,用<!ELEMNET>可以定义标签

(3)判断标签是简单标签还是复杂标签

  • 简单标签:没有子标签
  • 复杂标签:有子标签

3.代码示例:

persons 是根标签,person、name、age是其子标签,#PCDATA代表其内容是字符串

<!ELEMNET persons (person)>    //注意persons与小括号之间有空格
<!ELEMNET person (name,age)>
<!ELEMNET name(#PCDATA)>
<!ELEMNET age(#PCDATA)>

4.引入DTD约束文档的三种方法

(1)引入本地DTD约束文档

  在xml文件的声明下一行,格式如下:

<!DOCTYPE 根标签 SYSTEM 'dtd文件路径'>

SYSTEM表示本地引入dtd文件

<?xml version="1.0" encoding="UTF-8" ?>
<!--DTD约束文档的引入方法一:本地引入(SYSTEM表示本地引入dtd文件)-->
<!--
<!DOCTYPE 根标签 SYSTEM ‘dtd文件路径’ >用来引入DTD文件
-->
<!DOCTYPE persons SYSTEM 'D:\IdeaProjects\BasicCode\myXML\xml\persondtd.dtd'>
<persons>
    <person>
        <name>张三</name>
        <age>23</age>
    </person>
</persons>

(2)在xml文件内部引入

即dtd文件与xml文件写在一起,格式如下:

<!DOCTYPE 根标签 []>   []内传入dtd文件约束内容即可

    

<?xml version="1.0" encoding="UTF-8" ?>
<!--DTD约束文档的引入方法二:在xml文件内部引入-->
<!--
<!DOCTYPE 根标签 []>   []内传入dtd文件约束内容即可
-->
<!DOCTYPE persons [
        <!ELEMENT persons (person)>
        <!ELEMENT person (name,age)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT age (#PCDATA)>
        ]>
<persons>
    <person>
        <name>张三</name>
        <age>23</age>
    </person>
</persons>

(3)从网络引入dtd文件

格式如下:

<!DOCTYPE persons PUBLIC "dtd文件的名称" "dtd文档的URL">
<?xml version="1.0" encoding="UTF-8" ?>
<!--DTD约束文档的引入方法三:引入网络dtd-->
<!--
<!DOCTYPE persons PUBLIC "dtd文件的名称" "dtd文档的URL">
-->
<!DOCTYPE persons PUBLIC "dtd文件的名称" "dtd文档的URL">
<persons>
    <person>
        <name>张三</name>
        <age>23</age>
    </person>
</persons>

二、DTD语法规则

DTD定义元素(标签):

1.图解

2.符号

,:表示子标签的顺序,顺序出错,则报错

| :表示只能有一个子标签出现

?:子标签只能出现零次或一次

+:子标签能出现一次或多次

* :子标签能出现零次或多次

若不写,则标签只能出现一次

DTD定义属性:

1.图解

<!ATTLIST person CDATA  #FIXED  "p1">  表示给标签person定义一个id属性,这个属性类型是普通的字符串,属性值p1是固定的

2.定义属性的格式

<!ATTLIST 标签名称 属性名称 属性的类型 属性的约束>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZQyyds:)

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值