XML 的有力帮手之一——DDT

前端之家收集整理的这篇文章主要介绍了XML 的有力帮手之一——DDT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、定义

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 >

@H_403_502@

任何元素类型

<!ELEMENT 元素名称 ANY >

只出现一次的元素

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

最少出现一次

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

零到多次

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

零到一次

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

“或”关系

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

@H_403_502@

混合型内容

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

@H_403_502@

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

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

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

2属性

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

属性类型


#REQURED:必须要有。

#IMPLED :不必须有

#FIXED 固定的。

Web.html 声明顺序:严格

猜你在找的XML相关文章