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 官方教程,英文的。
分享到:
相关推荐
标签"DTD java_dtd xml_dtd"突出了三个关键点:DTD、Java和XML。这表示压缩包中的内容涉及到这三个技术领域,尤其是将Java编程语言用于处理DTD和XML的工作。 **详细知识点:** 1. **XML(可扩展标记语言)**:XML...
在本主题中,我们将深入探讨如何利用DTD(Document Type Definition)和XML Schema来设计一个表示图书信息的XML文档。这两种方法都是为了确保XML文档结构的合法性与一致性。 首先,DTD是XML的早期验证机制,它定义...
在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...
从第二章到第四章,我们分别从XML语法、DTD和样式单三方面详细介绍XML的三个基本要件。在第五、第六章中,我们从与XML相关的协议和软件工具两个角度来分析XML的使用现状。第七、八、九章,我们将讨论一些与XML相关的...
DTD是XML文档类型定义,它是XML文档的语法规则。在Spring和MyBatis的配置文件中,DTD用于定义元素、属性和它们的约束,确保XML文件的结构正确。例如,Spring的bean配置文件通常使用`<beans>`元素作为根节点,并且...
- **提高开发效率:** 开发人员可以使用预定义的DTD快速创建和修改XML文档。 - **如何使用Domino DTD:** - **创建DTD:** 可以通过Domino Designer 6提供的工具创建自定义DTD。 - **关联DTD:** 将创建好的DTD...
标题"XML.rar_delphi XML_xml_xml delphi"暗示了这是一个关于在Delphi环境下使用XML的资源包,可能包含了示例代码、库或者教程,帮助开发者更好地理解和应用XML。 描述中的"XML 控件,模仿网页的XML使用"表明这个...
标题中的“dtd_简易交通灯控制_com.wutka.dtd.dtd”表明这是一个关于交通灯控制系统的设计,使用了DTD(Document Type Definition),可能是XML文件的一种结构定义。DTD在XML文档中用于定义元素类型和规则,帮助解析...
然而,实际应用中可能需要处理更复杂的情况,如XML命名空间、XPath查询、DTD或XSD验证等。理解XML的基础知识和选择合适的库是解决这些问题的关键。在处理XML时,确保正确处理字符编码、空格和特殊字符,以确保数据的...
### XML与DTD详解 #### 一、XML简介 XML(Extensible Markup Language)是一种非常重要...通过使用XML来存储数据,结合DTD定义数据结构,可以有效地保证数据的一致性和完整性。这对于跨系统数据交换和管理至关重要。
### XML_XSL_DTD_SCHEMA_SAX_DOM_JDOM_WEBSERVICE简介 #### 背景知识点拨 XML(可扩展标记语言,Extensible Markup Language)及其相关技术(如XSL、DTD、Schema、SAX、DOM、JDOM以及Web服务)在现代信息技术中...
通过引用DTD,XML解析器可以检查文档的有效性,确保所有必需的元素都存在,且元素和属性的使用符合规定。 **PowerDesigner:** PowerDesigner是Sybase公司(现为SAP的一部分)开发的一款强大的数据建模工具,用于...
在XML(可扩展标记语言)文档中,DTD(文档类型定义)是一种重要的元数据,用于定义文档结构和元素规则。DTD允许我们规范XML文件的结构,确保...在实际应用中,理解并熟练使用外部DTD能有效提升XML文档的质量和可读性。
xmlDoc.Load("path_to_your_xml_file.xml"); // 查询XML节点 XmlNode node = xmlDoc.SelectSingleNode("//node_name"); string nodeValue = node.InnerText; ``` 这段代码首先创建了一个新的XmlDocument实例,然后...
DTD规范XML文档编写级XML文档的一般书写格式
为了有效地使用C++和XML,开发者需要理解XML的基本结构,如元素、属性、命名空间以及DTD(文档类型定义)或XML Schema等验证机制。此外,还需要熟悉所选C++ XML库的API,学习如何创建和操作DOM(Document Object ...
W3C对XML的标准化工作包括定义XML的语法规范、命名空间(Namespaces)规则、文档类型定义(DTD)和XML Schema,以及XPath、XSLT、XQuery等处理XML的语言。这些规范确保了不同系统间XML数据的互操作性和一致性。 XML...
本文档总结了基于DTD实现XML文档的有效性验证的实验报告。...结论:本实验报告总结了基于DTD实现XML文档的有效性验证的实验结果,展示了如何使用DTD来定义XML文档的结构和约束,并使用DTD来验证XML文档的有效性。