加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml的DTD约束

发布时间:2020-12-16 00:06:46 所属栏目:百科 来源:网络整理
导读:1、什么是DTD:Document Type Definition(文档类型定义) 2、 如何在xml中引入DTD 1) 外部引入 当引用的文件在本地时 !DOCTYPE 文档根结点 SYSTEM "DTD文件的URL" 当引用的文件是一个公共的文件时 !DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL" 2)

1、什么是DTD:Document Type Definition(文档类型定义)

2、 如何在xml中引入DTD
1) 外部引入

当引用的文件在本地时
<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
当引用的文件是一个公共的文件时
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">

2)内部引入

<!DOCTYPE 根元素 [元素声明]>

外部引入示例

DTD文件
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,出版社,价格)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 出版社 (#PCDATA)>
<!ELEMENT 价格 (#PCDATA)>
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- 外部引入DTD -->
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>

    <>
        <书名 >Android 开发</书名>
        <作者>罗老师</作者>
        <出版社>新华书店出版</出版社>
        <价格>99.99元</价格>
    </>

    <>
        <书名>Java 核心技术</书名>
        <作者>sun 公司</作者>
        <出版社>新华书店出版</出版社>
        <价格>88.98元</价格>
    </>

    <>
        <书名>JavaScript 挑战编程</书名>
        <作者>老罗</作者>
        <出版社>新华书店出版</出版社>
        <价格>22.37元</价格>
    </>

</书架>

内部引入示例

<?xml version="1.0" encoding="UTF-8"?>
<!-- 内部引入DTD约束 -->

<!DOCTYPE 科目 [ <!ELEMENT 科目 (英语,高数,概率,拓扑)> <!ELEMENT 英语 (#PCDATA)> <!ELEMENT 高数 (#PCDATA)> <!ELEMENT 概率 (#PCDATA)> <!ELEMENT 拓扑 (#PCDATA)> <!-- 内部属性声明 格式:<!ATTLIST 元素名称 属性名称 属性类型 默认值> 属性类型(部分): CDATA 值为字符数据 (en1|en2|en3...) 枚举类型中的一个 ID 值为唯一的id id只能以字符或者下划线开头 ENTITY 值为实体 ENTITIES 值为实体列表 默认值参数: #REQUIRED 属性值是必须的 #IMPLIED 属性值不是必须的 #FIXED value 属性值是固定的(没有写出,xml自动定义) --> <!ATTLIST 英语 时间 CDATA #REQUIRED 网址 CDATA #FIXED "http://3wshcool" 次数 CDATA "3"> <!ATTLIST 高数 老师 CDATA #REQUIRED 学分 CDATA #FIXED "5.0" 地点 ID #REQUIRED 考试 CDATA #REQUIRED 答疑 (一节课|两节课) #IMPLIED > <!-- 内部实体声明 格式:<!ENTITY 实体名称 "实体的值"> --> <!ENTITY writer "Bolt" > <!--实体参数 在DTD的内部使用 --> <!ENTITY % testdate1 "2016.06.20"> ]>

<科目>
    <英语 时间="123" 次数 ="9"></英语>
    <高数 老师="高斯" 地点="a1" 答疑="一节课" 考试="2016/09/12" >&writer;</高数>
    <概率></概率>
    <拓扑></拓扑>
</科目>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读