当前位置:网站首页>dtd建模
dtd建模
2022-06-30 17:42:00 【一麟yl】
目录
什么是DTD?
文档类型定义(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言(SGML)和可扩展标记语言(XML)1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。文档类型定义也可用做保证标准通用标记语言、可扩展标记语言文档格式的合法性,可通过比较文档和文档类型定义文件来检查文档是否符合规范,元素和标签使用是否正确。文件实例提供应用程序一个数据交换的格式。
PS:简而言之,DTD就是用来约束XML文档的,使其在一定的规范下使用,除了DTD技术外,还有Schema技术,也是用于约束XML文档的。
什么是XML?
XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为.xml。就像HTML的是用来显示数据的,xml的作用是传输和存储数据的。
XML是用来干嘛的?
其实说白了,xml就是便于不同应用、不同平台之间的数据共享和通信。
如下图所示:
具体点的作用为:
(1)可作为一种简单的数据库,存储并检索数据;
(2)传输约定格式的文件;
(3)做软件的配置文件。【配置文件:保存软件设置的文件】
XML的亲戚 :
1.XML的好哥哥——HTML
①我们来看看他们的出生顺序:
其实XML的出生就是为了完善HTML的缺陷与局部性。
②在使用方面的区别:
比较内容 | HTML | XML |
作用 | 显示数据 | 传输和存储数据 |
语法 | 无右述要求 | 要求嵌套 、配对 ,并遵循DTD的树状结构 |
空格 | 当输入多个时只会显示 一个 | 输入几个则显示几个 |
与数据库的关系 | 无直接联系 | 与关系型和层状数据库均可对应和转换 |
大小写的敏感区分 | 不区分 | 严格区分 |
2.XML的好闺蜜——JSON
这样的关系是不是更加容易理解:哥哥是一个妈生的,但是闺蜜就不是。
JSON,Javascript Object Notation,js对象表示法。作用也是存储和交换文本信息。
两者比较:由于,JSON采用键值对的格式,所以,JSON比XML更小、更快 、更易解析,so,也是更受欢迎。
两者的作用范围:JSON适用于简单的传值,XML适用于更广阔的传值。
XML的数据结构——树状结构:
注意:就像一棵树只有一个根,XML只能有一个根元素。
XML的标准格式:
元素定义:
1.在XML中加入DTD声明:
<!DOCTYPE root[]>
2.元素的分类:
①空元素
<!ELEMENT element-name EMPTY>
②文本元素
<!ELEMENT element-name (#PCDATA)>
③混合元素
<!ELEMENT element-name (e1,e2)>
3.元素的限制:
ps:默认的次数是?
属性定义:
1.语法:
<!ATTLIST element-name att-name type desc>
2.属性类型:
ID | 要求文档中所有标记ID类型的属性值一定不能相同 |
Enumerated | 必须从枚举过的数据类型中选取,如(true|false),也可以不写类型,直接写成(true|false) |
CDATA | 该类型的属性值不能含有“<”和“””,但实体可以出现在该字符串中 |
IDREF | 用于表示XML文档中标记之间关系的一种类型,其值必须是文档中被定义好的某一标记的ID类型的属性值 |
IDREFS | 类似于IDREF,但可以引用多个ID,多个ID之间用空格隔开 |
3.属性描述:
- #REQUIRED:必填
- #IMPLIED:非必填
- 默认值:只有当属性类型为Enumerated的时候,desc才能够指定默认值。
案例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons[
<!ELEMENT persons (person+)>
<!ELEMENT person (name,age,contact,br*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT contact (phone|email)>
<!ELEMENT br EMPTY>
<!ATTLIST person
pid ID #REQUIRED
sex (男|女) '男'
qq CDATA #IMPLIED
parent IDREF #IMPLIED
>
]>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>[email protected]</email>
</contact>
</person>
</persons>
好啦,我们下期再见,如果有没有补充到的地方欢迎大家在评论区留言!
边栏推荐
- MySQL n'a pas pu trouver MySQL. Solution temporaire pour le fichier Sock
- 《被讨厌的勇气:“自我启发之父”阿德勒的哲学课》
- Can go struct in go question bank · 15 be compared?
- Glacier teacher's book
- mysql for update 死锁问题排查
- Rhai 脚本引擎的简单应用示例
- Where do the guests come from
- 剑指 Offer 16. 数值的整数次方
- Electronic components bidding and purchasing Mall: optimize traditional purchasing business and speed up enterprise digital upgrading
- MySQL transaction concurrency and mvcc mechanism
猜你喜欢
医疗行业企业供应链系统解决方案:实现医疗数智化供应链协同可视
Multipass Chinese document - setting graphical interface
php利用队列解决迷宫问题
剑指 Offer 17. 打印从1到最大的n位数
MRO industrial products procurement management system: enable MRO enterprise procurement nodes to build a new digital procurement system
PC wechat multi open
Sword finger offer 16 Integer power of numeric value
What if the apple watch fails to power on? Apple watch can not boot solution!
Small program container technology to promote the operation efficiency of the park
TCP粘包问题
随机推荐
Where do the guests come from
拓维信息使用 Rainbond 的云原生落地实践
Courage to be hated: Adler's philosophy class: the father of self inspiration
基于UDP协议设计的大文件传输软件
How to use AI technology to optimize the independent station customer service system? Listen to the experts!
一套十万级TPS的IM综合消息系统的架构实践与思考
Volcano engine was selected into the first "panorama of edge computing industry" in China
NFT挖矿游GameFi链游系统开发搭建
剑指 Offer 17. 打印从1到最大的n位数
秉持'家在中国'理念 2022 BMW儿童交通安全训练营启动
小程序容器技术,促进园区运营效率提升
详解单例模式
GameFi链游系统开发NFT技术
Compilation problems and solutions of teamtalk winclient
TeamTalk WinClient编译问题及解决方案
Helping the ultimate experience, best practice of volcano engine edge computing
大佬们目前flinksql, cdcmysql跟Kafka双流join,结果放到mysql 或者ka
Is it safe to open an account for goucai? Is it reliable?
Merged binary tree of leetcode
Digital intelligent supplier management system solution for coal industry: data driven, supplier intelligent platform helps enterprises reduce costs and increase efficiency