DTD和Schema都是用来描述xml文档结构,限定文档的数据类型的。XML无非就是元素的集合,元素可以有属性,可以再嵌套元素。DTD和Schema就是限制可以出现哪些元素,元素的属性以及嵌套元素的个数等;
1.DOCTYPE:
DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称。又分以下两种情况:
a.内部DTD:
内部DTD,则再空一格出现[],在中括号中是文档类型定义的内容.
b.外部DTD,又分为私有和公有两种情况:
I.私有DTD使用SYSTEM表示,接着是外部DTD的URL.
II.公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.
DTD文件编写方法
组成:DTD分别用ELEMENT, ATTLIST, ENTITY, #PCDATA, #CDATA来描述.
1.PCDATA 会被解析器解析的文本, 这些文本将被解析器检查实体以及标记
2.CDATA 是不会被解析器解析的文本
3.ELEMENT:
a.<!ELEMENT 元素名称 EMPTY> 描述空元素(没有子节点和属性的元素);
b.<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)> 描述元素包含的子元素序列.
c.<!ELEMENT 元素名称 (#PCDATA)> 描述只有PCDATA的元素,
4.ATTLIST:
语法:<!ATTLIST 元素名称 属性名称 属性类型 默认值> 声明元素拥有的属性.
以下是属性类型及解释:
CDATA | 值为字符数据 (character data) |
(en1|en2|..) | 此值是枚举列表中的一个值 |
ID | 值为唯一的 id |
IDREF | 值为另外一个元素的 id |
IDREFS | 值为其他 id 的列表 |
NMTOKEN | 值为合法的 XML 名称 |
NMTOKENS | 值为合法的 XML 名称的列表 |
ENTITY | 值是一个实体 |
ENTITIES | 值是一个实体列表 |
NOTATION | 此值是符号的名称 |
xml: | 值是一个预定义的 XML 值 |
以下是默认值参数可使用的值:
#REQUIRED属性值是必需的
#IMPLIED属性不是必需的
#FIXED value 属性值是固定的
5.ENTITY
<!ENTITY 实体名称 "实体的值">, 如:
<!ENTITY writer "Bill Gates">
<!ENTITY copyright "Copyright W3School.com.cn">
则在xml中可以这样引用它们:
<author>&writer;©right;</author>
实体引用字符
< <
> >
& &
" "
' '
相关推荐
XML(可扩展标记语言,eXtensible ...了解和掌握XML、DTD和Schema,对于编写和解析符合规范的XML文档,以及确保数据的准确性和一致性至关重要。在实际开发中,根据项目需求和复杂性,选择合适的验证工具是非常重要的。
**DTD(Document Type Definition)与XML ...总的来说,虽然DTD在XML文档验证方面起着基础作用,但XML Schema因其增强的功能和灵活性已成为更广泛接受的标准。开发者应根据项目需求选择合适的方式来定义XML文档的结构。
[实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法
为了确保XML文档的结构正确性与一致性,XML约束技术应运而生,主要有两种形式:DTD(Document Type Definition)和XML Schema。 **DTD(Document Type Definition)** DTD是XML的早期约束和验证机制,它定义了XML...
XML Schema 和 XML DTD 是两种用于定义XML文档结构和数据约束的语言。XML DTD(文档类型定义)是较早出现的规范,而XML Schema则在2001年成为W3C的正式推荐标准,旨在提供更强大和灵活的XML文档验证功能。 首先,...
XML DTD(Document Type Definition)和XML Schema是两种主要的XML语义约束机制,用于定义XML文档的结构和数据类型。 XML DTD是最早的XML文档类型定义方式,它使用一套预定义的元素和属性来描述XML文档的结构。DTD...
总结来说,XML基础教程包括对XML的基本概念、语法规则、树形结构的理解,以及使用DTD和Schema进行数据验证的方法。掌握这些知识对于任何涉及数据处理和交换的IT专业人员都是至关重要的。通过学习XML,开发者能够创建...
在本主题中,我们将深入探讨如何利用DTD(Document Type Definition)和XML Schema来设计一个表示图书信息的XML文档。这两种方法都是为了确保XML文档结构的合法性与一致性。 首先,DTD是XML的早期验证机制,它定义...
详细的讲解了DTD和schema,学习DTD,schema 就它了
在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...
- **有效的XML (Valid XML)**:除了满足格式良好的条件之外,还必须符合DTD或XML Schema的约束。这意味着XML文档不仅需要格式正确,还需要满足预定义的数据结构和语义规则。 #### 四、DTD(Document Type ...
鑫编写的《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进...
XML Schema的作用是定义一份XML文档的合法组件群,就像DTD的作用一样。 XML Schema的主要功能包括: 1. 定义可以出现在文档里的元素 2. 定义可以出现在文档里的属性 3. 定义了哪些元素是子元素 4. 定义了子元素的...
XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。 XML Schema: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者...
- **DTD 的基本了解**:尽管 XML Schema 是 DTD 的替代品,但了解 DTD 的基本原理有助于更好地理解 XML Schema 的优势和特点。 通过上述内容,我们可以看出 XML Schema 是一种强大而灵活的语言,用于定义和描述 XML...
XML Schema是一种基于XML的文档类型定义(DTD)替代方案,它提供了更为强大且灵活的方式来描述XML文档的结构和数据类型。XML Schema定义(XSD)使用XML语法,使得XML文档的验证和处理更加方便。在这个教程中,我们将...
XML Schema提供了比早期的DTD(Document Type Definition)更强大的功能,例如支持复杂数据类型、命名空间和更复杂的约束。本篇将深入探讨XML Schema中的常用标签及其作用。 1. `<schema>`:这是XML Schema文档的根...
本学习文档涵盖了XML的基础以及与其相关的几个核心概念:DTD、Schema、SAX、DOM、XSL和XPath。 首先,让我们来理解XML的基础。XML的设计目标是为了传输和存储结构化数据,它通过自定义的标签来描述数据。XML文档...