DTD总结

1 DTD:document type definition

1.1  DTD  XML构建模块

元素,实体,属性,PCDATA,CADTA.

元素:元素是xml与html的主要构建模块。如html的等。元素可以是空元素,包含其他元素和属性。

实体:实体是用来定义普通文本的变量。实体引用用来对普通文本的引用。如大家熟悉的html中的 就是对“”空格的实体引用。在xml中有以下的预定义的实体引用。

实体引用

字符

<

>

&

&

"

‘’

'

         PCDATA:parse character data按字面意思来解释就是可被解析的字符串。PCDATA可被看成是开始标签与结束标签之间的内容。其中的实体会被展开,标签会被当做标示处理。但PCDATA应被不包括<,>等符号,要使用这些符号请用实体引用代替。

         CDATA:character data按字面意思来讲是字符数据,CDATA中的数据标签将不会当做标记,实体也不会展开。

1.2  DTD元素

》DTD中声明一个元素

元素类别可以是ANY 表示任意类型,EMPTY 表示空元素。

元素内容:

元素内容使用空白符分隔,表示出现顺序没有要求:

×

 用逗号分隔,表示内容的出现顺序必须与声明时一致。

 用|分隔,表示任选其一,即多个只能出现一个

在元素内容中也可以使用+、*、?等符号表示元素出现的次数:

                   +: 一次或多次 (书+)

                 ?: 0次或一次 (书?)

                   *: 0次或多次  (书*)

也可使用圆括号( )批量设置,例

        

通过()、空白、逗号、|组合n中类型的元素内容。

1.3 DTD属性

》属性声明:属性是对元素的额外说明

声明属性

属性声明使用下列语法:

                    属性名称1 属性类型 默认值

                    属性名称2 属性类型 默认值

                    …                                                          >

元素名称定义是哪个元素的属性

属性类型可以是以下类型

  常用:CDATA,枚举列表(en1|en2|en3…),实体Entity。

DTD总结_第1张图片

默认值:注意#FIXED value此处的value是让你提供一个固定的默认值

DTD总结_第2张图片

 

DTD 实例:

                    paymenttype CDATA "check">

XML 实例:

1.3  DTD实体

实体引用是对实体的引用,实体是用来引用普通文本和特殊字符的变量。

实体构成: 一个实体由三部分构成: 一个和号 (&),一个实体名称, 以及一个分号 (;)。

实体引用由内部引用和外部引用:

一个内部实体声明

》引用实体定义

语法:

引用方式:&实体名称;注意结尾有分号。

例子:

DTD 例子:

XML 例子:

&writer;©right;

 

》参数实体定义

语法: % 实体名称 "实体内容">

引用方式:%实体名称; 注意结尾有分号。

DTD 例子:

          

        

   

          

DTD 例子2:

          " id ID #IMPLIED

         accountCDATA #REQUIRED ">

%common.attributes;>

%common.attributes;>

 

一个外部实体声明

语法:

例子:

DTD 例子:

XML 例子:

&writer;©right;

 

1.4  DTD验证

1.5  DTD实例

》一个DTD的写法

 

                    属性名称1 属性类型 默认值

                    属性名称2 属性类型 默认值

                    …                                                          >

]>

DTD实例例子1:全部看懂这个你就差不多都学会了,老实说DTD实在是太简单了

产品目录 DTD

拷贝自:http://www.vervet.com/

 

 

 

(SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)>

NAME CDATA #IMPLIED

CATEGORY (HandTool|Table|Shop-Professional) "HandTool"

PARTNUM CDATA #IMPLIED

PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago"

INVENTORY (InStock|Backordered|Discontinued) "InStock">

 

WEIGHT CDATA #IMPLIED

POWER CDATA #IMPLIED>

 

FINISH (Metal|Polished|Matte) "Matte"

ADAPTER (Included|Optional|NotApplicable) "Included"

CASE (HardShell|Soft|NotApplicable) "HardShell">

 

MSRP CDATA #IMPLIED

WHOLESALE CDATA #IMPLIED

STREET CDATA #IMPLIED

SHIPPING CDATA #IMPLIED>

 

 

]>

1.6在xml中引入xml约束

在xml中引入dtd文件的有两种声明方式:

(1)内部定义的(定义在XML文件中),

(2)外部引入的DTD文件(导入)。
(1)内部定义的很少用到。
 里面进行DTD文档的定义。


   里面进行DTD文档的定义。
 ]>

<根元素>


(2)外部引入的DTD文件,用得最多。
这种方式又分为:私有方式、公共方式。
私有方式:
私有方式最后写的是DTD的地址,也可以是一个URL地址。DTD文件并不是XML文档格式来写,DTD文件有自己的书写格式。私有方式关键字是SYSTEM。
公共方式:
公共方式最后的标示如果是经过ISO组织认证的用ISO进行标示,没有经过ISO但是经过行业内其他组织认证的用+,没有经过任何组织认证的用-。
"+//所有人的名称(谁来写的这个DTD文件)//DTD文档的说明"

你可能感兴趣的:(xml)