- 浏览: 101917 次
- 性别:
- 来自: 长春
文章分类
最新评论
-
chao8796:
吃的真多
方便面烹饪法 -
rmn190:
看下这个类: org.jbpm.web.JbpmThreads ...
Jbpm + Spring 配置
DTD (文档类型定义)的目的是用来建立合法的 XML 文档。
它定义了一个带有合法的元素和属性的列表的文档结构。
一个 DTD 可以被声明在 XML 文档内部(内联), 或者作为一个外部引用。
内部声明
如果 DTD 声明在 XML 文件内部, 必须被包装进 DOCTYPE 定义, 用以下的语法:
例如:
说明:
!DOCTYPE note 定义文档的根元素是 note
!ELEMENT note 定义了 note 元素包含 4 元素 to, from, heading, body
!ELEMENT to 定义 to 元素的类型是 #PCDATA
!ELEMENT from 定义 from 元素的类型是 #PCDATA
!ELEMENT heading 定义 heading 元素的类型是 #PCDATA
!ELEMENT body 定义 body 元素的类型是 #PCDATA
外部声明
如果 DTD 被声明为一个外部文件, 必须用以下的语法包装进 DOCTYPE 定义:
note.dtd
为什么使用 DTD ?
使用 DTD, 每个 XML 可以带有自己格式的描述。
使用 DTD, 依赖于组的人们可以同意使用一个标准 DTD 说明数据。
你的应用程序使用 DTD 验证你从外部世界收到的数据是有效的。
你可以使用 DTD 验证自己的数据。
XML 文档的主要组成
Elements 元素
Attributes 属性
Entities 实体
PCDATA 解析字符数据
CDATA 字符数据
Element(元素)
XML 文档的主要部分。 元素可以包含文本, 其他元素, 或者是空的。
Attribute(属性)
提供元素的额外信息。 属性在开始标签的内部, 是“名=值”对的形式。
Entity(实体)
一些字符在 XML 文档中有特殊的含义, 比如小于号(<)定义标签的开始。
XML 中预定义的实体:
PCDATA 意为解析字符数据。
把字符数据看作 XML 元素开始标记和结束标记之间可以找到的文本。
PCDATA 是将要被一个解析器解析的文本。 这个文本要被解析器检查为实体和标记。
标签中的文本将要作为标记和实体被处理。
但是被解析的数据不能包含任何 &, <, > 字符, 这些需要被表现为 & < 和 > 实体。
CDATA 意为字符数据
CDATA 是不被解析器解析的文本。 标签中的文本将不被作为标记和实体处理。
声明 Element(元素)
在 DTD 中, XML 元素的声明语法:
或者
空元素
例如:
XML example:
PCDATA
例如:
任何内容
例如:
子元素(子元素声明顺序要一致)
或者
例如:
只能出现一次的元素
例如:
至少出现一次的元素
例如:
出现 0 或者多次的元素
例如:
出现 0 或者 1 次的元素
例如:
声明任选一的元素
声明混合元素
DTD 属性
例如:
属性类型
默认值
例如:
DTD:
Valid XML:
#REQUIRED(必须) 属性值是必须的
语法:
例如:
DTD:
合法 XML:
非法 XML:
#IMPLIED(隐含) 属性值可有可无, 没有默认操作
语法:
例如:
DTD:
合法 XML:
合法 XML:
#FIXED(固定) 属性值是固定的, 不允许改变
语法:
例如:
DTD:
合法 XML:
非法 XML:
枚举属性值
语法:
例如:
DTD:
XML example:
或者
在 XML 中, 什么时候用属性, 什么时候用子元素, 没有一个固定的规则。 (尽量用子元素表现数据)
数据可以被存贮为属性或者子元素。
例如:
声明实体(注意: 实体包含 3 部分 &符号, 实体名称, 分号)
内部定义语法:
例如:
DTD Example:
XML example:
外部定义语法:
DTD Example:
XML example:
它定义了一个带有合法的元素和属性的列表的文档结构。
一个 DTD 可以被声明在 XML 文档内部(内联), 或者作为一个外部引用。
内部声明
如果 DTD 声明在 XML 文件内部, 必须被包装进 DOCTYPE 定义, 用以下的语法:
xml 代码
- <!DOCTYPE root-element [element-declarations]>
例如:
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>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend</body>
- </note>
说明:
!DOCTYPE note 定义文档的根元素是 note
!ELEMENT note 定义了 note 元素包含 4 元素 to, from, heading, body
!ELEMENT to 定义 to 元素的类型是 #PCDATA
!ELEMENT from 定义 from 元素的类型是 #PCDATA
!ELEMENT heading 定义 heading 元素的类型是 #PCDATA
!ELEMENT body 定义 body 元素的类型是 #PCDATA
外部声明
如果 DTD 被声明为一个外部文件, 必须用以下的语法包装进 DOCTYPE 定义:
xml 代码
- <!DOCTYPE root-element SYSTEM "filename">
- <?xml version="1.0"?>
- <!DOCTYPE note SYSTEM "note.dtd">
- <note>
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
xml 代码
- <!ELEMENT note (to,from,heading,body)>
- <!ELEMENT to (#PCDATA)>
- <!ELEMENT from (#PCDATA)>
- <!ELEMENT heading (#PCDATA)>
- <!ELEMENT body (#PCDATA)>
为什么使用 DTD ?
使用 DTD, 每个 XML 可以带有自己格式的描述。
使用 DTD, 依赖于组的人们可以同意使用一个标准 DTD 说明数据。
你的应用程序使用 DTD 验证你从外部世界收到的数据是有效的。
你可以使用 DTD 验证自己的数据。
XML 文档的主要组成
Elements 元素
Attributes 属性
Entities 实体
PCDATA 解析字符数据
CDATA 字符数据
Element(元素)
XML 文档的主要部分。 元素可以包含文本, 其他元素, 或者是空的。
Attribute(属性)
提供元素的额外信息。 属性在开始标签的内部, 是“名=值”对的形式。
Entity(实体)
一些字符在 XML 文档中有特殊的含义, 比如小于号(<)定义标签的开始。
XML 中预定义的实体:
< | < |
> | > |
& | & |
" | " |
' | ' |
PCDATA 意为解析字符数据。
把字符数据看作 XML 元素开始标记和结束标记之间可以找到的文本。
PCDATA 是将要被一个解析器解析的文本。 这个文本要被解析器检查为实体和标记。
标签中的文本将要作为标记和实体被处理。
但是被解析的数据不能包含任何 &, <, > 字符, 这些需要被表现为 & < 和 > 实体。
CDATA 意为字符数据
CDATA 是不被解析器解析的文本。 标签中的文本将不被作为标记和实体处理。
声明 Element(元素)
在 DTD 中, XML 元素的声明语法:
xml 代码
- <!ELEMENT element-name category>
xml 代码
- <!ELEMENT element-name (element-content)>
空元素
xml 代码
- <!ELEMENT element-name EMPTY>
xml 代码
- <!ELEMENT br EMPTY>
xml 代码
- <br />
PCDATA
xml 代码
- <!ELEMENT element-name (#PCDATA)>
xml 代码
- <!ELEMENT from (#PCDATA)>
任何内容
xml 代码
- <!ELEMENT element-name ANY>
xml 代码
- <!ELEMENT note ANY>
子元素(子元素声明顺序要一致)
java 代码
- <!ELEMENT element-name (child1)>
xml 代码
- <!ELEMENT element-name (child1,child2,...)>
xml 代码
- <!ELEMENT note (to,from,heading,body)>
只能出现一次的元素
xml 代码
- <!ELEMENT element-name (child-name)>
xml 代码
- <!ELEMENT note (message)>
至少出现一次的元素
xml 代码
- <!ELEMENT element-name (child-name+)>
xml 代码
- <!ELEMENT note (message+)>
出现 0 或者多次的元素
xml 代码
- <!ELEMENT element-name (child-name*)>
xml 代码
- <!ELEMENT note (message*)>
出现 0 或者 1 次的元素
xml 代码
- <!ELEMENT element-name (child-name?)>
xml 代码
- <!ELEMENT note (message?)>
声明任选一的元素
xml 代码
- <!ELEMENT note (to,from,header,(message|body))>
声明混合元素
xml 代码
- <!ELEMENT note (#PCDATA|to|from|header|message)*>
DTD 属性
xml 代码
- <!ATTLIST element-name attribute-name attribute-type default-value>
xml 代码
- <!ATTLIST payment type CDATA "check">
- <payment type="check" />
属性类型
CDATA |
The value is character data |
(en1|en2|..) |
The value must be one from an enumerated list |
ID |
The value is a unique id |
IDREF |
The value is the id of another element |
IDREFS |
The value is a list of other ids |
NMTOKEN |
The value is a valid XML name |
NMTOKENS |
The value is a list of valid XML names |
ENTITY |
The value is an entity |
ENTITIES |
The value is a list of entities |
NOTATION |
The value is a name of a notation |
xml: |
The value is a predefined xml value |
默认值
value |
The default value of the attribute |
#REQUIRED |
The attribute is required |
#IMPLIED |
The attribute is not required |
#FIXED value |
The attribute value is fixed |
DTD:
xml 代码
- <!ELEMENT square EMPTY>
- <!ATTLIST square width CDATA "0">
xml 代码
- <square width="100" />
#REQUIRED(必须) 属性值是必须的
语法:
xml 代码
- <!ATTLIST element-name attribute_name attribute-type #REQUIRED>
DTD:
xml 代码
- <!ATTLIST person number CDATA #REQUIRED>
xml 代码
- <person number="5677" />
xml 代码
- <person />
#IMPLIED(隐含) 属性值可有可无, 没有默认操作
语法:
xml 代码
- <!ATTLIST element-name attribute-name attribute-type #IMPLIED>
DTD:
xml 代码
- <!ATTLIST contact fax CDATA #IMPLIED>
xml 代码
- <contact fax="555-667788" />
xml 代码
- <contact />
#FIXED(固定) 属性值是固定的, 不允许改变
语法:
xml 代码
- <!ATTLIST element-name attribute-name attribute-type #FIXED "value">
DTD:
xml 代码
- <!ATTLIST sender company CDATA #FIXED "Microsoft">
xml 代码
- <sender company="Microsoft" />
xml 代码
- <sender company="W3Schools" />
枚举属性值
语法:
xml 代码
- <!ATTLIST element-name attribute-name (en1|en2|..) default-value>
DTD:
xml 代码
- <!ATTLIST payment type (check|cash) "cash">
xml 代码
- <payment type="check" />
xml 代码
- <payment type="cash" />
在 XML 中, 什么时候用属性, 什么时候用子元素, 没有一个固定的规则。 (尽量用子元素表现数据)
数据可以被存贮为属性或者子元素。
例如:
java 代码
- <person sex="female">
- <firstname>Anna</firstname>
- <lastname>Smith</lastname>
- </person>
- <person>
- <sex>female</sex>
- <firstname>Anna</firstname>
- <lastname>Smith</lastname>
- </person>
声明实体(注意: 实体包含 3 部分 &符号, 实体名称, 分号)
内部定义语法:
xml 代码
- <!ENTITY entity-name "entity-value">
DTD Example:
xml 代码
- <!ENTITY writer "Donald Duck.">
- <!ENTITY copyright "Copyright W3Schools.">
xml 代码
- <author>&writer;©right;</author>
外部定义语法:
xml 代码
- <!ENTITY entity-name SYSTEM "URI/URL">
xml 代码
- <!ENTITY writer SYSTEM "http://www.w3schools.com/entities.dtd">
- <!ENTITY copyright SYSTEM "http://www.w3schools.com/entities.dtd">
xml 代码
- <author>&writer;©right;</author>
发表评论
-
XPath 笔记
2008-03-22 09:39 815XPath 有 7 种节点:element(元素)attrib ... -
WSDL 笔记
2007-12-10 13:36 1016WSDL Web 服务描述语言。 WSDL 用 XML 写。 ... -
E4X 笔记
2007-12-07 15:42 1057E4X 是一个 WEB 标准。 E4X 是一个新的 JavaS ... -
HTML DOM 笔记
2007-12-07 13:02 1084整个文档是一个文档节点。 每个 HTML 标签是一个元素节点。 ... -
JavaScript 笔记
2007-12-07 09:31 914JavaScript 被设计为增加 HTML 页面的交互。 J ... -
XHTML 笔记
2007-12-05 17:54 1252原文出自 http://www.w3schools.com 中 ... -
DHTML 笔记
2007-12-05 17:36 959DHTML 不是 W3C 标准。 DHTML 结合 CSS 和 ... -
重学 CSS
2007-12-04 14:41 812原文出自 www.w3schools.com 中的 CSS 教 ... -
HTML 笔记
2007-12-04 12:55 912原文出自 http://www.w3schools.com 的 ... -
Http Status Code
2007-10-17 09:06 1456以下所有内容转自 w3c (^_^) part of Hyp ... -
Ajax Request
2007-09-12 08:18 933js 代码 var http_request ...
相关推荐
XML、DTD、Schema笔记、使用方法、注意事项,尤其是对XML和DTD比较详细
NULL 博文链接:https://even2012.iteye.com/blog/1828290
webservice学习笔记1DTD是为了校验XML 2语法 3 schema
在XML文件含有外部DTD验证的时候,使用XmlDocument/XmlDataDocument类的Load方法会抛出如下的例外: System.Xml.XmlException: 未找到所需的 DTD 标记。 行 m,位置 n。 我们可以采用下面的方法不去加载外部资源: ...
1. struts2框架的引入 1)把struts2的相关jar包导入到项目中去 2)把struts2框架的配置文件struts.xml复制粘贴到项目中的src下面(同时也可以把log4j.properties放...struts.xml的dtd文件,在dtd文件中有这个声明的写法
在xml文件中引入dtd文件的两种方式 17 DTD元素和修饰符 17 元素属性列表说明 17 实体定义分两种 18 使用php对xml文件进行操作 19 CSS 23 margin 26 element 28 box 29 position 31 apache 34 PHP 36 ...
学习Struts2的小笔记,及配置部署环境,dtd文件相关内容,部分文字有图示解释。
税务师-财务与会计笔记定义.pdf
这里收录了一大批XML程序,包括DTD,XSL,XML等文件,还有一些笔记说明,对于学习XML的您来说不妨看看,应该对你有帮助
笔记本电脑上壳冲压模设计借鉴.pdf
第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................115 第五章 XML解析...................119 Oracle学习笔记...............121 前言....................
笔记本之间建立局域网(无需路由器)借鉴.pdf
SSM笔记-全局配置文件,包含添加dtd约束、properties标签、settings标签、typeAliases标签、typeHandler标签、environments标签、databaseIdProvider标签、mappers标签
集成显卡与独立显卡笔记本的区别_笔记本汇编.pdf
Dell笔记本安装及设置linux系统ubuntu8.04详细指南借鉴.pdf
XML学习笔记(包括Java的两种解析XML的方法)。 XML基础语法的介绍,DTD的介绍和使用。 可快速入门,也可当手册使用。
笔记本电脑Fn键使用大全和各种笔记本切换类快捷键借鉴.pdf
第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................115 第五章 XML解析.119 Oracle学习笔记...............121 前言....121 第一章 Selecting Rows..........
华硕笔记本键盘使用大全基本键、各种快捷键、热键、WINDOWS键及组合键、word快捷键.pdf
上接:JavaWeb学习总结笔记(1) 接着之前的开始写 dtd的三种引入方式: 引入外部的dtd文件 使用内部dtd文件 <!DOCTYPE 根元素名称 [ ]> 使用外部的dtd文件(网络上的dtd文件) dtd文件代码 xml文件代码 ...