xml 文档由以下5部分组成,因此dtd定义中也有以下5部分:
Elements 元素,最主要的组成部分
Attributes 属性
Entities 实体,定义了一些固定的 文本 或 字符,相当于它们的快捷方式;有一些预定义实体,具有某些特殊意义,比如 < > " ' & ,也可以自定义实体
PCDATA parsed character data ,其中如果包含特殊实体,则被当作特殊实体看待,比如 > 可能被看做 元素结束符号
CDATA character data ,其中的特殊实体,被当作普通字符看待;
------
Element 子元素个数: + 表示1个或多个,? 表示0个或1个,* 表示 任意个
Element 类型如果是 EMPTY 则表示空元素
------
下面是1个dtd示例,包括 people.dtd 和 people.xml 2个文件:
people.dtd:
<!ENTITY NS "spaceflysky">
<!ENTITY TRUE "true">
<!ENTITY FALSE "false">
<!ENTITY copyright "Copyright@2008">
<!ELEMENT peoplelist (people)>
<!ELEMENT people (baseinfo,forte,will,friend*,tarch,other,test)>
<!ELEMENT baseinf (name+,age,sex,country)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT forte (#PCDATA)>
<!ELEMENT will (#PCDATA)>
<!ELEMENT friend (#PCDATA)>
<!ELEMENT tarch (time?,(tel|qq|address))>
<!ELEMENT tel (#PCDATA)>
<!ELEMENT qq (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT other (#PCDATA)>
<!ELEMENT test (br)>
<!ELEMENT br EMPTY>
<!ATTLIST peoplelist
namespace CDATA #FIXED "&NS;"
copyright CDATA #IMPLIED>
<!ATTLIST people
enabled (true|false) "&TRUE;"
alive (live|dead) #REQUIRED
planet CDATA #IMPLIED>
people.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE people SYSTEM "people.dtd">
<peoplelist copyright="©right;">
<people alive="live" planet="earth">
<baseinfo>
<name>space</name>
<age>21</age>
<sex>male</sex>
<country>china</country>
</baseinfo>
<forte></forte>
<will></will>
<friend></friend>
<tarch>
<time>any time</time>
<qq>123456</qq>
</tarch>
<other></other>
<test>
<br />
</test>
</people>
</peoplelist>
------
下面给出一个可以检查 xml 文件语法的html文件,在IE5.5以上浏览器均可使用:
使用前修改一下xml文件的位置
<html>
<body>
<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.validateOnParse="false";
xmlDoc.load("validation_test.xml");
document.write("<br />Error Code: ");
document.write(xmlDoc.parseError.errorCode);
document.write("<br />Error Reason: ");
document.write(xmlDoc.parseError.reason);
document.write("<br />Error Line: ");
document.write(xmlDoc.parseError.line);
</script>
</body>
</html>
------
一个最权威最标准的dtd教程:
http://www.w3schools.com/dtd/ 是W3C 官方教程,英文的。
分享到:
相关推荐
设计一种表示图书信息的XML文档,包含两种方法,一个实例,一个样式,方法有DTD和Schema
How to create dtd and schema for xml document with example
可以验证DTD规范的java程序,DTD规范是验证XML文件是否合法的文件
Volume 4_ XML_Domino_DTD_and_JSP_Tags
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...
从第二章到第四章,我们分别从XML语法、DTD和样式单三方面详细介绍XML的三个基本要件。在第五、第六章中,我们从与XML相关的协议和软件工具两个角度来分析XML的使用现状。第七、八、九章,我们将讨论一些与XML相关的...
XML_XSL_DTD_SCHEMA_SAX_DOM_JDOM_WEBSERVICE简介.pdf
xml与DTD,xml与DTD,xml与DTD,xml与DTD
学习XML语言的DTD如何去写,如何更好的写出XML语言的DTD文档,对进一步深入学习XML有很大帮助。
DTD规范XML文档编写级XML文档的一般书写格式
XML文件的创建、格式示例 DTD文件的创建、格式示例 dom4j解析XML文件示例 SAX解析XML文件示例
Powerdesign 专用库 路径:\Program Files (x86)\Sybase\PowerDesigner 16\Resource Files\XML Languages
关于DTD文件的介绍,主要讲外部DTD,将DTD与XML文档相关联之外部DTD
很好的一个关于DTD验证XML的一些文档,内容丰富。需要了解的速速下载
dtd例子xmldtd
这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...
基于DTD实现XML文档的有效性验证
关于DTD和XML的学习文档,看来之后很受用,学习xml的很好一个文档
[实验目的] 1、安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。 2、熟悉和掌握XML规范的基本内容,包括XML声明、...使用内部/外部DTD规则,对XML数据文档的有效性进行约束。 某软件学院XML课程实验答案