- 浏览: 104810 次
- 性别:
- 来自: 长春
文章分类
最新评论
-
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 856XPath 有 7 种节点:element(元素)attrib ... -
WSDL 笔记
2007-12-10 13:36 1048WSDL Web 服务描述语言。 WSDL 用 XML 写。 ... -
E4X 笔记
2007-12-07 15:42 1100E4X 是一个 WEB 标准。 E4X 是一个新的 JavaS ... -
HTML DOM 笔记
2007-12-07 13:02 1110整个文档是一个文档节点。 每个 HTML 标签是一个元素节点。 ... -
JavaScript 笔记
2007-12-07 09:31 951JavaScript 被设计为增加 HTML 页面的交互。 J ... -
XHTML 笔记
2007-12-05 17:54 1293原文出自 http://www.w3schools.com 中 ... -
DHTML 笔记
2007-12-05 17:36 992DHTML 不是 W3C 标准。 DHTML 结合 CSS 和 ... -
重学 CSS
2007-12-04 14:41 846原文出自 www.w3schools.com 中的 CSS 教 ... -
HTML 笔记
2007-12-04 12:55 945原文出自 http://www.w3schools.com 的 ... -
Http Status Code
2007-10-17 09:06 1496以下所有内容转自 w3c (^_^) part of Hyp ... -
Ajax Request
2007-09-12 08:18 971js 代码 var http_request ...
相关推荐
在XML中,DTD(Document Type Definition)是一种重要的工具,它定义了XML文档的结构和规则,确保XML文档的正确性。DTD约束是XML文档规范的一种方式,它允许我们定义元素、属性以及它们之间的关系,以实现对XML文档...
在处理XML文件时,有时我们可能会遇到由于XML文档包含了对外部DTD(Document Type Definition)的引用,导致在使用`XmlDocument`或`XmlDataDocument`类加载文件时出现验证异常。DTD是XML的一个组成部分,用于定义XML...
此外,DTD433M的应用笔记部分详细分析了选择无线监控的优势,以及无线数传模块、数据终端、无线测控终端和无线数传电台之间的区别。还对比了常用串口调试工具,并对RS485总线通讯方式进行了分析。最后,该部分还讨论...
`mybatis最全最新课件.txt`可能是文字版的课程大纲或笔记,包含了学习路径和关键知识点的概述,对于复习和查找特定主题非常有用。 `Jar包.zip`是一个包含MyBatis库的压缩文件,其中可能有mybatis.jar和其他依赖的库...
webservice学习笔记1DTD是为了校验XML 2语法 3 schema
MyBatis的配置文件遵循DTD格式规范,因此需要在项目中导入相应的DTD文件。这些文件包含了配置文件结构的定义,使得IDE能够提供更好的代码提示和错误检查。 - **导入步骤**: - 在IDE中找到DTD导入功能,通常是通过...
### Hibernate映射笔记详解 #### Hibernate映射文件与配置关系 Hibernate映射是ORM(对象关系映射)框架中的一项关键技术,它允许开发者在数据库表和Java对象之间建立映射关系,从而简化了数据访问层的开发工作。...
本篇笔记主要介绍如何搭建基于Struts2的Web应用程序,并进行简单的配置。 ##### 1. 创建项目与生成`web.xml`文件 - **步骤**:在开发工具中新建Web项目后,会在项目的`WEB-INF`目录下自动生成`web.xml`文件。该文件...
至于XML笔记,可能会讲解XML文档的结构、DTD和Schema验证、XPath表达式以及Java如何使用DOM、SAX或StAX解析XML文件。 通过深入学习这些笔记,你可以全面理解Java开发的基础,并掌握与数据库交互的关键技术,以及...
### XML学习笔记:深入理解DTD(Document Type Definition) 在探讨XML文档时,了解DTD(Document Type Definition)至关重要,它作为XML文档结构定义的一种标准方法,为文档提供了语法和结构的约束,确保了文档的...
"笔记本电脑上壳冲压模设计借鉴" 笔记本电脑由于携带方便而广受欢迎,轻量化是笔记本电脑的发展趋势,因此外壳制造使用镁合金材料,上壳的制造采用冲压模具。本文将围绕笔记本电脑上壳冲压模设计进行详细的分析和...
本Java视频教程中的XML课堂笔记深入浅出地讲解了XML的基本概念、语法规范以及在实际开发中的应用。以下是根据笔记内容整理的详细知识点: 1. **XML基础** - XML的起源:XML是从HTML演化而来,旨在提供一种结构化、...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`:XHTML 1.0 Transitional,允许使用一些HTML4的宽松特性。 选择正确的DOCTYPE有助于...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`。 - **元数据与编码**:`;charset=UTF-8">`用于声明文档的字符编码,确保浏览器正确...
### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...
### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,适合初学者通过实际案例了解框架的基本用法。 - **Docs目录**:官方文档...
### 传智播客javascript韩顺平笔记解析 #### JavaScript基本概念 JavaScript是一种广泛应用于Web开发领域的脚本语言。作为一种脚本语言,JavaScript的特点在于它并非像Java等编译型语言那样需要预先编译成机器可...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
### IE6兼容性笔记知识点详解 #### 一、文档类型声明(DOCTYPE)对IE6的影响 在进行前端开发时,确保网页在不同浏览器中的表现一致性是一项挑战,尤其是在处理老旧浏览器如Internet Explorer 6 (IE6)时。文档类型...