`

DTD 教程

阅读更多
DTD 教程
--------------
文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

1
在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 the meeting!</body>
</note>




2
在XML中引用一个外部的DTD文件
<!DOCTYPE 根元素 SYSTEM "文件名">

note.dtd
<?xml version="1.0"?>
<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>


refdtd.xml
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note> 


3
DTD 的构建模块:
元素
属性
实体: 即变量, 可通过解析实体引用(&entity)获取实体值. 如实体引用&nbsp; 会被解析成空格.实体有作用域.
PCDATA : 被解析器解析的文本, 会解析文本变量为文本.
CDATA : 不解析实体引用,不解析实体

4
常见实体引用:
&lt; <
&gt; >
&amp; &
&quot; "
&apos; '

5
元素声明
<!ELEMENT 元素名称 类别>

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

<!ELEMENT br EMPTY>

<!ELEMENT 元素名称 (#PCDATA)>
(#PCDATA): 表示元素内容为解析字符串.

<!ELEMENT sqlMapConfig (properties?, settings?, typeAlias*, typeHandler*, transactionManager?, sqlMap+)+>
表示元素内容为子元素序列.


5
声明只出现一次的子元素
<!ELEMENT 元素名称 (子元素名称)>

声明最少出现一次的子元素
<!ELEMENT 元素名称 (子元素名称+)>

声明出现零次或多次的子元素
<!ELEMENT 元素名称 (子元素名称*)>

声明出现零次或一次的子元素
<!ELEMENT 元素名称 (子元素名称?)>

声明“必选其中之一”类型的子元素
<!ELEMENT note (message|body)>

声明混合型的内容
<!ELEMENT note (#PCDATA|to|from|header|message)*>
表示:
"note" 元素可包含出现零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。


EMPTY: 表示元素没有内容
ANY:表示元素任何内容

* 0次或多次
+ 1次或多次
? 0次或1次
| 选择其中之一




6
声明属性
<!ATTLIST 元素名称 属性名称 属性类型 默认值>

7
属性类型
CDATA	值为字符数据 (character data)
(en1|en2|..)	此值是枚举列表中的一个值
ID	值为唯一的 id
IDREF	值为另外一个元素的 id
IDREFS	值为其他 id 的列表
NMTOKEN	值为合法的 XML 名称
NMTOKENS	值为合法的 XML 名称的列表
ENTITY	值是一个实体
ENTITIES	值是一个实体列表
NOTATION	此值是符号的名称
xml:	值是一个预定义的 XML 值


8
属性默认值

值	属性的默认值
#REQUIRED	属性值是必需的
#IMPLIED	属性不是必需的
#FIXED value	属性值是固定的


8
实体

一个内部实体声明
语法:
<!ENTITY 实体名称 "实体的值">
例子:
DTD 例子:
<!ENTITY writer "Bill Gates">
<!ENTITY copyright "Copyright W3School.com.cn">
XML 例子:
<author>&writer;&copyright;</author>
注释: 一个实体由三部分构成: 一个和号 (&), 一个实体名称, 以及一个分号 (;)。
一个外部实体声明
语法:
<!ENTITY 实体名称 SYSTEM "URI/URL">
例子:
DTD 例子:
<!ENTITY writer SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">
<!ENTITY copyright SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">
XML 例子:
<author>&writer;&copyright;</author>



9
通过JS验证DTD

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.validateOnParse="false"
xmlDoc.load("note_dtd_error.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)








分享到:
评论

相关推荐

    DTD教程实例

    通过这个详尽的DTD教程,无论是初学者还是经验丰富的开发者,都能提升自己的XML文档管理和处理能力。在学习过程中,结合实例进行实践,将更有利于理解和掌握DTD的精髓,从而在XML编程中游刃有余。记得,理论知识与...

    XML的DTD教程

    ### XML的DTD教程 #### 一、文档类型定义(DTD)概述 文档类型定义(Document Type Definition,简称DTD)是一种用于定义XML文档结构的语言。它主要用于描述XML文档中元素、属性以及实体等组成部分的规则,确保XML...

    DTD 教程 DTD 实例

    **DTD(Document Type Definition)教程** DTD 是 XML(Extensible Markup Language)文档的结构定义工具,它用于描述 XML 文档的元素、属性、实体等结构,确保 XML 文档的合法性。DTD 的作用在于提供一种机制,使...

    TutorialsPoint DTD 教程.epub

    TutorialsPoint DTD 教程.epub

    DTD 教程 XML java

    文档类型定义(DTD,Document Type Definition)是XML文档的一个重要组成部分,它定义了XML文档的结构和规则。DTD允许创建者指定文档可以包含哪些元素、元素的顺序、元素的属性,以及元素之间的关系,从而确保XML...

    DTD教程,来自3cSchool

    DTD,全称Document Type Definition,是XML文档类型定义的缩写,它定义了XML文档的合法结构和元素。XML是一种标记语言,用于描述数据结构,而DTD的作用就是确保XML文档遵循特定的规则,即所有XML文档都必须符合其...

    XML-DTD教程

    本教程将深入探讨XML-DTD技术,帮助你理解和掌握如何有效地使用DTD来验证XML文档的结构合法性。 首先,我们来看XML文档的基本结构。一个XML文档由一系列元素组成,每个元素可以包含其他元素或者文本。DTD的作用就是...

    w3shool DTD 教程

    DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。 它使用一系列的合法元素来定义文档结构。

    DTD学习教程.pdf

    DTD,即文档类型定义(Document Type Definition),是XML文档中用于定义文档结构和元素规则的一种方式。它确保了XML文档的合法性,通过一系列合法的元素定义来规定文档的构成。XML文档可以包含内部DTD声明,也可以...

    T17.2_DTD java 经典教程 经典教材

    T17.2_DTD java 经典教程 经典教材

    XML DTD 教程

    XML DTD(Document Type Definition)教程是学习XML文档结构定义的重要部分。DTD允许你定义XML文档的元素、属性以及它们的规则,确保文档遵循特定的结构标准。在本教程中,我们将深入探讨如何使用DTD来声明和管理XML...

    DTD教程

    现在,你可以通过下载提供的“DTD教程.DOC”文件,进一步深入学习。这份文档将详细讲解各个知识点,通过实例解析,帮助你更好地掌握和运用DTD。记住,实践是检验真理的唯一标准,动手编写和验证自己的DTD,将使你的...

    DTD简明教程

    DTD简明教程 内部的 DTD 声明 外部的 DTD 声明

    XML DTD详细教程

    XML DTD,全称为Document Type Definition,是一种用于定义XML文档结构的语言规范,它规定了XML文档的合法元素、属性和这些元素之间的关系。DTD的主要作用是确保XML文档遵循一定的规则,保证数据的一致性和完整性,...

    DTD文件本地映射教程

    dtd映射本地,解决IDE无提示的问题,是自己制作的教程,有不足之处请指出批评

    DTD文件教程

    【DTD文件教程】 文档类型定义(DTD,Document Type Definition)是一种规范,用于定义XML文档的结构和限制。它确保XML文档遵循预定义的规则,从而提高数据的一致性和可读性。DTD通过指定元素、属性、实体和数据...

    DTD实用教程之教学课件

    ### DTD实用教程知识点概述 #### 一、DTD基本概念 **DTD**(Document Type Definition,文档类型定义)是一组规则的集合,用于定义XML文档结构和语法的有效性。DTD是XML 1.0规范的一部分,它规定了XML文档中允许出现...

    DTD_Calculator Intel分辨率调整程序

    车载电脑屏幕分辨率大部分为800*480 和 1024*600,而Intel 集成显卡不支持这种分辨率的屏幕。 用这个软件即可添加我们需要的分辨率,让屏幕显示正确的分辨率。 亲测非常好用。 非作者, 如果作者有异议,可以随时...

    DTD(XML文档类型定义)教程

    本教程旨在深入讲解DTD的概念、编写方式、使用方法,以及它与XML Schema的区别和联系。 XML的核心在于提供了一种自定义标记的方式,使得数据不仅具有良好的可读性,而且能表达出数据间的逻辑关系,便于搜索和处理。...

    struts+spring+mybatis+hibernate的dtd文件

    在实际开发中,虽然目前更倾向于使用XSD(XML Schema Definition)替代DTD,因为XSD提供了更强的数据类型支持和更复杂的约束,但DTD仍然是许多遗留项目和教程中常见的配置文件规范。理解DTD对于理解和维护这些基于...

Global site tag (gtag.js) - Google Analytics