dtd建模

目录

什么是DTD?

什么是XML?

XML是用来干嘛的?

XML的亲戚 :

1.XML的好哥哥——HTML

2.XML的好闺蜜——JSON

XML的数据结构——树状结构:

XML的标准格式:

 元素定义:

1.在XML中加入DTD声明:

扫描二维码关注公众号,回复: 14718995 查看本文章

2.元素的分类:

3.元素的限制:

属性定义:

1.语法:

2.属性类型:

3.属性描述:

案例:


什么是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>

好啦,我们下期再见,如果有没有补充到的地方欢迎大家在评论区留言!

猜你喜欢

转载自blog.csdn.net/m0_67376124/article/details/125533193
DTD