`

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 实例

    DTD 教程 ================== DTD 首页 DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 实体 DTD 验证 DTD 实例 DTD 总结

    DTD教程实例

    DTD教程 chm格式,还有实例典范,是web开发必备工具,xml开发者必备工具

    DTD 教程 XML java

    DTD 教程.doc DTD 教程 XML java DTD 教程.doc DTD 教程.doc 我自己整理的

    XML的DTD教程

    关于XML的DTD教程,关于XML的DTD教程,关于XML的DTD教程

    DTD教程,来自3cSchool

    DTD教程,来自3cSchoolDTD教程,来自3cSchool

    TutorialsPoint DTD 教程.epub

    TutorialsPoint DTD 教程.epub

    DTD学习教程.pdf

    DTD学习教程.pdf

    w3shool DTD 教程

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

    XML-DTD教程

    XML中间关于DTD技术部分的详细代码,详细解读

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

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

    XML DTD详细教程

    DTD教程完整版。根据网页资源整理排版成清晰的DOC。据此可以系统地了解DTD。

    DTD文件教程

    DTD教程 DTD 简介 DTD - XML 构建模块 DTD - 元素 DTD - 属性 DTD - 实体 DTD 验证 DTD - 来自网络的实例

    Python3教程菜鸟教程.pdf

    Docker 教程 DTD 教程 Eclipse 教程 Firebug 教程 Foundation 教程 Git 教程 Go 语⾔教程 Google 地图 API 教程 Highcharts 教程 HTML DOM 教程 HTML 参考⼿册 HTML 字符集 HTML 教程 HTTP 教程 ionic 教程 iOS 教程...

    DTD教程

    DTD教程以挖掘自身潜藏的能力为核心,致力于为你提供最实用的DTD教程,赶快来下载使用吧!PS:可下载全部...该文档为DTD教程,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看

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

    DTD教程由浅入深讲述了什么是DTD,如何写DTD文件,怎样使用DTD文件,怎样演变为schema,DTD和schema的联系和区别,schema的好处,以及上车吗的使用

    XML DTD 教程

    http://www.w3school.com.cn/里面的原版,看看,交流的。

    DTD简明教程

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

    DTD文件本地映射教程

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

    DTD_Calculator Intel分辨率调整程序

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

    DTD实用教程之教学课件

    这是一本DTD的记录,实例示例教材,对DTD的知识做全面的介绍。

Global site tag (gtag.js) - Google Analytics