程序员人生 网站导航

XML之DTD(文档类型定义)

栏目:互联网时间:2015-01-23 08:23:53

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用1系列合法的元夙来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为1个外部援用。

声明元素

在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:

<!ELEMENT 元素名称 种别>  [种别可为:EMPTY、(#PCDATA)、ANY]

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

带有 DTD 的 XML 文档实例

<?xml version="1.0"?> <!DOCTYPE note[ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget themeeting!</body> </note>

!DOCTYPE note (第2行)定义此文档是note 类型的文档。

!ELEMENT note (第3行)定义 note 元素有4个元素:"to、from、heading,、body"

!ELEMENT to (第4行)定义 to 元素为"#PCDATA" 类型

!ELEMENT from (第5行)定义 from 元素为"#PCDATA" 类型

!ELEMENT heading(第6行)定义 heading 元素为 "#PCDATA" 类型

!ELEMENT body (第7行)定义 body 元素为"#PCDATA" 类型

PCDATA 的意思是被解析的字符数据(parsedcharacter data),PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体和标记

CDATA 的意思是字符数据(characterdata)。CDATA 是不会被解析器解析的文本

<!ELEMENT note(#PCDATA|to|from|header|message)*[可以加后缀:?、*、+]>

上面的例子声明了:"note"元素可包括出现零次或屡次的 PCDATA、"to"、"from"、"header" 或 "message"。

声明属性

属性声明使用以下语法:

<!ATTLIST 元素名称 属性名称 属性类型 默许值>

以下是属性类型的选项:

类型                   描写

CDATA                值为字符数据 (character data)

(en1|en2|..)       此值是枚举列表中的1个值

ID                        值为唯1的 id

IDREF                  值为另外1个元素的 id

IDREFS                值为其他 id 的列表

NMTOKEN          值为合法的 XML 名称

NMTOKENS        值为合法的 XML 名称的列表

ENTITY                值是1个实体

ENTITIES             值是1个实体列表

NOTATION          此值是符号的名称

xml:                    值是1个预定义的XML 值

默许值参数可以使用以下值:

值                       解释

值                       属性的默许值

#REQUIRED        属性值是必须的

#IMPLIED           属性不是必须的

#FIXED value      属性值是固定的

声明实体

语法:

<!ENTITY 实体名称 "实体的值">

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐