当前位置:网站首页>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>好啦,我们下期再见,如果有没有补充到的地方欢迎大家在评论区留言!
边栏推荐
- Compilation problems and solutions of teamtalk winclient
- Deep learning compiler understanding
- 【社区明星评选】第23期 7月更文计划 | 点滴创作,汇聚成塔!华为FreeBuds 4E等酷爽好礼送不停
- 《Go题库·15》go struct 能不能比较?
- Summary of methods for offline installation of chrome extensions in China
- EasyNVR平台设备通道均在线,操作出现“网络请求失败”是什么原因?
- Hospital online consultation applet source code Internet hospital source code smart hospital source code
- Courage to be hated: Adler's philosophy class: the father of self inspiration
- 如何利用AI技术优化独立站客服系统?听听专家怎么说!
- Four tips tell you how to use SMS to promote business sales?
猜你喜欢

Four tips tell you how to use SMS to promote business sales?

The easynvr platform equipment channels are all online. What is the reason for the "network request failure" in the operation?

云上“视界” 创新无限 | 2022阿里云直播峰会正式上线

【TiDB】TiCDC canal_json的实际应用

3.10 haas506 2.0开发教程-example-TFT

Do you write API documents or code first?

Merged binary tree of leetcode

Multipass中文文档-设置图形界面

一套十万级TPS的IM综合消息系统的架构实践与思考

depends工具查看exe和dll依赖关系
随机推荐
Personally test the size of flutter after packaging APK, quite satisfied
使用excel快速生成sql语句
ONEFLOW source code parsing: automatic inference of operator signature
亲测flutter打包apk后大小,比较满意
挖财账号开户安全吗?是靠谱的吗?
链表中环的入口结点-链表专题
系统集成项目管理工程师认证高频考点:编制项目范围管理计划
联想YOGA 27 2022,超强配置全面升级
视频内容生产与消费创新
Infineon - GTM architecture -generic timer module
MySQL cannot find mysql Temporary solution of sock file
mysql for update 死锁问题排查
The easynvr platform equipment channels are all online. What is the reason for the "network request failure" in the operation?
MySQL n'a pas pu trouver MySQL. Solution temporaire pour le fichier Sock
Geoffrey Hinton:我的五十年深度学习生涯与研究心法
Rhai - Rust 的嵌入式脚本引擎
Openlayers roller shutter map
php利用队列解决迷宫问题
Distributed transaction
Small program container technology to promote the operation efficiency of the park