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

XML 的有力帮手之一——DDT

发布时间:2020-12-16 05:23:48 所属栏目:百科 来源:网络整理
导读:一、定义 DDT ( document typedefinition ) 定义 XML 文件的结构 为 XML 文件提供语法和规则 内容既可以定义在 XML 文件中,也可以定义在 XML 文件之外。 使用 XML 进行数据交换的行业或组织可定义自己的 DTD 。 出现 DTD 的初衷: 为了正确的交换数据, X

一、定义

DDTdocument typedefinition

定义XML 文件的结构

XML 文件提供语法和规则

内容既可以定义在XML 文件中,也可以定义在XML文件之外。

使用XML 进行数据交换的行业或组织可定义自己的DTD

出现DTD的初衷:为了正确的交换数据,XML 文件需要确定的结构,SO,DTD对于XML 是可选内容。

二、形式

1XML内置DTD.

<?xmlversion="1.0" encoding="utf-8"?>

<!DOCTYPE 书籍列表[

<!ELEMENT书籍列表(计算机书籍)*>

<!ELEMENT计算机书籍(书名,价格,简要介绍)>

<!ELEMENT书名(#PCDATA)>

<!ELEMENT价格(#PCDATA)>

<!ELEMENT简要介绍(#PCDATA)>

]>

<书籍列表>

<计算机书籍>

<书名>XML的今生今世</书名>

<价格>16.6</价格>

<简要介绍>XML的今生今世,好书</简要介绍>

</计算机书籍>

</书籍列表>

2、外部DTD

DTD XML 内容分别在不同的文件中。

建立自己的DTD

DTD 文件写法:

<!--文件名字book.dtd-->

<?xmlversion="1.0" encoding="utf-8"?>

<!ELEMENT书籍列表(计算机书籍)*>

<!ELEMENT计算机书籍(书名,价格,简要介绍)>

<!ELEMENT书名(#PCDATA)>

<!ELEMENT价格(#PCDATA)>

<!ELEMENT简要介绍(#PCDATA)>

调用book.dtd XML:<!DOCTYPE 根元素 SYSTEM"文件名">

例子:<?xmlversion="1.0" encoding="utf-8"?>

<!DOCTYPE书籍列表 SYSTEM "book.dtd">

.....

共享的DTD-Public

PUBLIC属性)比如,两个相同行业不同地区的人使用同一个DTD文件来作为文档创建规范,那么他们的数据就很容易交换和共享。网上有其他人想补充数据,也只需要根据公用的DTD规范来建立文档,就立刻可以加入。

三、文件构成——模块

元素

属性

实体

PCDATA:被解析的字符数据(parsedcharacter data)。

可把字符数据想象为XML 元素的开始标签与结束标签之间的文本。

PCDATA 是会被解析器解析的文本。这些文本将被解析器检查是实体还是标签

文本中的标签会被当作标记来处理,而实体会被展开。

不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;所以这时候用到了实体类需要使用&amp;、&lt; 以及 &gt; 实体来分别替换它们。

CDATA(原样输出)

CDATA的意思是字符数据(character data)。

PCDATA 不同的是:CDATA是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。

1、元素。

语法

<!ELEMENT 元素名称 类别 >

<!ELEMENT 元素名称 (元素内容) >

特殊元素

空元素

<!ELEMENT 元素名称 EMPTY >

任何元素类型

<!ELEMENT 元素名称 ANY >

只出现一次的元素

<!ELEMENT 元素名称 子元素名称 >

最少出现一次

<!ELEMENT 元素名称 子元素名称+ >

零到多次

<!ELEMENT 元素名称 子元素名称* >

零到一次

<!ELEMENT 元素名称 子元素名称)? >

“或”关系

<!ELEMENT 元素名称 ((子元素名称|子元素名称)>

混合型内容

<!ELEMENT 元素名称 #pcdata |子元素名称)*>

和——逗号,子元素之间存在一定顺序

<!ELEMENT 元素名称 子元素名称子元素名称)>

——|,子元素之间不存在顺序

2、属性

语法:<!ATTLIST 元素名称 属性名称 属性类型 默认值>

属性类型


#REQURED:必须要有。

#IMPLED :不必须有

#FIXED 固定的。

Web.html 声明顺序:严格

(编辑:李大同)

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

    推荐文章
      热点阅读