文档类型定义(DTD):是一种将约束置于XML文档上的方法。
一个DTD例子
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE games[
<!ELEMENT games (game*)>
<!ELEMENT game (#PCDATE)>
]>
<games>
<game> i am lulu </game>
</games>
1.这个DTD有两个元素类型声明,由<!ELEMENT>指定。
2.DTD可以用来描述元素、每个元素包含几个子元素、元素在文档中的次序。
3.DTD还能够为元素的属性提供约束信息
4.但是,DTD不是必须的,只是为了XML指定约束时,提供的标准机制。
简述指定DTD语法
1.<!DOCTYPE>来指定XML文档使用的DTD
例:
<!DOCTYPE root SYSTEM "uri">
其中,
root来知道该DTD属于哪个文档,即必须与“根元素”匹配;
SYSTEM来表明此DTD是私有的,一般用于外部的DTD;
uri当使用外部DTD时,来指定其位置。
2.外部的DTD
即DTD的相关内容在XML文本外
例:
a.可以是一个完整的URL:
<!DOCTYPE root SYSTEM "http://www.xmlgames.com.games.dtd">
b.如果XML文档和DTD在同一个物理位置,那也可以是一个简单的文件名:
<!DOCTYPE root SYSTEM "games.dtd">
3.内部的DTD
即之前的第一个小例子
4. 元素声明
元素声明包括:声明的起始标记、声明的元素名称、指定元素的内容(可指定为EMPTY,ANY,Mixed,children)
<!ELEMENT games EMPTY>
表明元素的内容可以为空或者不包含任何值.
<!ELEMENT games ANY>
表明元素可以编写为包含普通的元素和字符数据.
<!ELEMENT game (game,#PCDATE)>
Mixed不是一个真正的值,可以表示该元素包含已经解析的字符数据和子元素;
其中,#PCDATE表示该元素必须包含“字符数据的子元素”;
Mixed不能指定子元素的顺序和出现次数.
<!ELEMENT games (game1,game2)>
children不是一个真正的值,表明该元素包含子元素并且为其指定了名称和出现次序.
<?xml version="1.0" encoding="UTF-8"?>
<games>
<game>
<game1/>
<game2/>
</game>
</games>
<!ELEMENT games (game1 | game2)>
<?xml version="1.0" encoding="UTF-8"?>
<games>
<game>
<game1/>
</game>
</games>
<!ELEMENT games (#PCDATE)>
<?xml version="1.0" encoding="UTF-8"?>
<games>
<game>
i am lulu
</game>
</games>
5.元素的出现次数
无 子元素只能出现一次
? 子元素出现0次或1次
* 子元素出现0次或多次
+ 子元素出现1次或多次
例:
<!ELEMENT games (game*)>中game元素可以出现0次或者多次
6.元素的出现顺序
(,)表示元素按指定顺序出现
(|)表示可以按任意顺序出现,并且只有一个是必需的
7.属性列表声明
<!ATTLIST 元素名 属性名 类型 默认值>
a.类型:一般是CDATA,代表不是标记的字符数据
b.默认值:#REQUIRED(属性是必需的,且只有一个值)
#IMPLIED (属性不是必需的,且无值)
#FIXED(属性是必需的,且有指定的值)
例:为元素game声明了两个属性name1和name2
<!ATTLIST game name1 CDATA #REQUIRED
name2 CDATA #IMPLIED
name3 CDATA #FIXIED “lulu”>
分享到:
相关推荐
DTD约束是XML文档规范的一种方式,它允许我们定义元素、属性以及它们之间的关系,以实现对XML文档内容的有效控制。 DTD的主要组成部分包括: 1. 元素定义:在DTD中,每个元素都有一个唯一的名称,可以指定元素是否...
**Schama —— XML文档约束技术 学习笔记** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、Web服务等场景。为了确保XML文档的数据结构正确、完整,避免数据错误,XML...
1. DTD(Document Type Definition):DTD是XML文档类型定义,用于规定文档结构和元素的约束。例如,通过<!ELEMENT book (title, author, year) >定义了`book`元素包含`title`、`author`和`year`三个子元素。 2. ...
- **XSD(XML Schema)**:更现代的替代DTD,提供了更强大的数据类型和约束定义能力。 - **XPath**:一种在XML文档中查找信息的语言,用于选取节点或节点集。 - **XSLT(Extensible Stylesheet Language ...
XSD提供了更强大的数据类型和约束定义,而DTD则较为简单。 4. **C#中的XML操作**:在.NET框架中,有多种类库支持XML处理,如System.Xml命名空间下的XmlDocument、XPathDocument、XmlNodeReader等。这些类允许我们...
3. 文档类型定义(DTD)或XML Schema:这些工具为XML文档提供了验证机制,确保数据符合预设的结构和规则。 4. 无关性:XML与任何特定的程序或硬件平台无关,这使得它可以在各种环境中广泛使用。 5. 可读性:XML文档...
2. DTD与XML Schema:DTD(Document Type Definition)和XML Schema用于定义XML文档的结构和约束。DTD是较早的定义方式,而XML Schema提供更强大、更灵活的数据类型支持。 二、C#解析XML 1. XmlDocument类:C#中,...
首先,我们来看`saveit.dtd`文件,这是一个文档类型定义(DTD)。DTD是用来定义XML文档结构的规则集,它规定了元素的名称、属性以及元素间的相互关系。例如,DTD可以用来声明一个元素是否是其他元素的父元素,或者...
- XML文档类型定义(DTD)和XML Schema:理解它们如何为XML文档提供结构约束。 - DOM(Document Object Model):了解如何使用C#解析XML文档,并通过DOM模型进行操作。 2. **LINQ to XML** - LINQ(Language ...
DTD(Document Type Definition)和XML Schema是两种定义XML文档结构的方法。DTD相对简单,主要用于定义元素的类型、顺序和属性;而XML Schema更为复杂,提供了更强大的类型系统,可以定义复杂的元素和属性类型,...
接着,深入到《DTD》(Document Type Definition)章节,DTD是用来定义XML文档结构的工具,它规定了元素的类型、顺序和数量。学习如何创建和引用DTD,可以确保XML文档的有效性,帮助我们更好地组织和验证数据。 在...
### 文档类型定义(DTD) DTD用于定义XML文档的结构和元素类型,确保文档的一致性和有效性。本书不仅解释了DTD的基本知识,还深入探讨了其语法,如元素定义、属性列表、实体定义等。通过12个实例,读者可以了解如何...
#### 一、XML文档的定义与约束 XML(Extensible Markup Language,可扩展标记语言)是一种标记语言,旨在提供一种统一的数据交换格式,使得不同系统之间可以方便地共享数据。为了确保XML文档的一致性和正确性,通常...
文档类型定义(DTD,Document Type Definition)是XML的一种约束机制,用于定义XML文档的结构和元素类型。例如,下面是一个简单的DTD示例: ```xml <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!...
DTD用于定义元素、属性和它们的约束,而XSD提供了更复杂的数据类型和验证机制。 6. **XML解析**:解析XML有两种主要方式——DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到内存...
1. 文档类型定义(DTD,Document Type Definition):DTD用于定义XML文档的结构和元素,确保文档遵循一定的规则。它包含元素、属性、实体等定义。 2. XML Schema:作为DTD的替代,XML Schema提供了更强大、更灵活的...
2. **DTD(Document Type Definition)**:定义XML文档的结构,用于验证文档是否符合规范。 3. **XSD(XML Schema)**:更现代的验证方式,提供了更强大的数据类型和约束定义。 4. **实体**:用于表示重复或复杂的...
3. **XML文档类型定义(DTD)**:DTD是一种定义XML文档结构的工具,它定义了元素、属性及其关系。例如,`<!ELEMENT book (title, author+, year?)>`表示一个book元素包含一个title元素,一个或多个author元素,以及...
3. 文档类型定义(DTD)或XML Schema:用来约束XML文档的结构和数据类型,确保文档的一致性。 4. 元素(Element):XML文档的核心组成部分,由标签包裹的文本或子元素。 5. 属性(Attribute):提供关于元素的附加...