当前位置:网站首页>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>好啦,我们下期再见,如果有没有补充到的地方欢迎大家在评论区留言!
边栏推荐
- 使用excel快速生成sql语句
- Sword finger offer 17 Print from 1 to maximum n digits
- LeetCode动态规划经典题(一)
- AI首席架构师10-AICA-蓝翔 《飞桨框架设计与核心技术》
- 剑指 Offer 17. 打印从1到最大的n位数
- Swin-transformer --relative positional Bias
- 秉持'家在中国'理念 2022 BMW儿童交通安全训练营启动
- Geoffrey Hinton: my 50 years of in-depth study and Research on mental skills
- MRO industrial products procurement management system: enable MRO enterprise procurement nodes to build a new digital procurement system
- TeamTalk WinClient编译问题及解决方案
猜你喜欢

MySQL事务并发问题和MVCC机制

openGauss数据库源码解析系列文章—— 密态等值查询技术详解(上)

TCP packet sticking problem

领导:谁再用 Redis 过期监听实现关闭订单,立马滚蛋!

Sword finger offer 16 Integer power of numeric value

What if the apple watch fails to power on? Apple watch can not boot solution!

Swin-transformer --relative positional Bias

一点比较有意思的模块

华兴证券:混合云原生架构下的 Kitex 实践

Dlib library for face key point detection (openCV Implementation)
随机推荐
如何做好软件系统的需求调研,七种武器让你轻松搞定
Compare the audio librosa library with the Mel spectrogram in the torchaudio library
Tensorflow2 ten must know for deep learning
3.10 haas506 2.0开发教程-example-TFT
iCloud照片无法上传或同步怎么办?
C# Winform程序界面优化实例
Hospital online consultation applet source code Internet hospital source code smart hospital source code
TCP packet sticking problem
Memory Limit Exceeded
充值满赠,IM+RTC+X 全通信服务「回馈季」开启
详解单例模式
NFT technology for gamefi chain game system development
PHP uses queues to solve maze problems
The online procurement system of the electronic components industry accurately matches the procurement demand and leverages the digital development of the electronic industry
MySQL事务并发问题和MVCC机制
MySQL找不到mysql.sock文件的臨時解
Vulnerability recurrence ----- 38. Thinkphp5 5.0.23 Remote Code Execution Vulnerability
国内离线安装 Chrome 扩展程序的方法总结
电子元器件招标采购商城:优化传统采购业务,提速企业数字化升级
How to use AI technology to optimize the independent station customer service system? Listen to the experts!