`

XML的两种形式DTD和Schema

    博客分类:
  • XML
 
阅读更多
1. DTD和Schema都可以描述XML文档的结构,定义 XML 文档的合法构建模块。
2. 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)>
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

以上 DTD 解释如下:
!DOCTYPE note (第二行)定义此文档是 note 类型的文档。

!ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"

!ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型

!ELEMENT from (第五行)定义 frome 元素为 "#PCDATA" 类型

!ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型

!ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型

3. DTD外部申明的例子
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note> 

这是包含 DTD 的 "note.dtd" 文件:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>


4. Schema例子
下面这个例子是一个名为 "note.xsd" 的 XML Schema 文件,它定义了上面那个 XML 文档的元素:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

</xs:schema>

note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。您将在下面的章节学习更多有关复合类型和简易类型的知识。

此文件包含对 XML Schema 的引用:

<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>


5. DTD与Schema区别
5.1. DTD文件的后缀是.dtd, Schema文件的后缀是.xsd
5.2. Schema本来就是xml
5.3. Schema定义强大,如:
定义可出现在文档中的元素
定义可出现在文档中的属性
定义哪个元素是子元素
定义子元素的次序
定义子元素的数目
定义元素是否为空,或者是否可包含文本
定义元素和属性的数据类型
定义元素和属性的默认值以及固定值

5.4. XML Schema 很快会在大部分网络应用程序中取代 DTD
XML Schema 可针对未来的需求进行扩展
XML Schema 更完善,功能更强大
XML Schema 基于 XML 编写
XML Schema 支持数据类型
XML Schema 支持命名空间

5.5. XML Schema 在 2001 年 5 月 2 日成为 W3C 标准
分享到:
评论

相关推荐

    xml约束[dtd,Schema].zip

    为了确保XML文档的结构正确性与一致性,XML约束技术应运而生,主要有两种形式:DTD(Document Type Definition)和XML Schema。 **DTD(Document Type Definition)** DTD是XML的早期约束和验证机制,它定义了XML...

    DTD和Schema

    **DTD(Document Type Definition)与XML Schema是XML文档结构定义的两种主要方法,它们用于确保XML文档遵循预定义的规则,从而保持数据的一致性和可读性。** **DTD(文档类型定义)**是XML规范早期引入的一种方式...

    XML Schema 与 XML DTD的技术比较与分析

    XML Schema 和 XML DTD 是两种用于定义XML文档结构和数据约束的语言。XML DTD(文档类型定义)是较早出现的规范,而XML Schema则在2001年成为W3C的正式推荐标准,旨在提供更强大和灵活的XML文档验证功能。 首先,...

    XML.rar_dtd xml_xml dtd_xml schema_xml 设计

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。...了解和掌握这两种方法,对于任何从事XML相关工作的IT专业人士来说都是非常重要的。

    XML DTD,XmlSchema标准参考手册

    XML DTD(Document Type Definition)和XML Schema是两种主要的XML语义约束机制,用于定义XML文档的结构和数据类型。 XML DTD是最早的XML文档类型定义方式,它使用一套预定义的元素和属性来描述XML文档的结构。DTD...

    DTD_Schema.rar.rar_dtd_xml_xml schema

    在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...

    xml与DTD,xml与DTD

    - **有效的XML (Valid XML)**:除了满足格式良好的条件之外,还必须符合DTD或XML Schema的约束。这意味着XML文档不仅需要格式正确,还需要满足预定义的数据结构和语义规则。 #### 四、DTD(Document Type ...

    XMLSchema经典例题

    XML Schema,全称为XML Schema Definition (XSD),是一种用于描述XML文档结构和数据类型的规范,它是W3C(World Wide Web Consortium)所制定的标准。XML Schema的出现是为了替代早期的DTD(Document Type ...

    xmlschema实验及答案.doc

    XML Schema实验及答案 XML Schema是基于XML的_schema语言,是一种用于定义XML文档...XML Schema是一种强大的工具,用于定义和验证XML文档的结构和内容。它广泛应用于数据交换、文档验证、数据存储和应用集成等领域。

    xml dom,sax解析,schema验证

    DOM(Document Object Model)和SAX(Simple API for XML)是两种常用的XML解析方法。 DOM解析是将XML文档加载到内存中形成一棵树状结构,称为DOM树。每个节点代表XML文档的一个部分,如元素、属性、文本等。通过...

    用于XML模式和DTD规范化设计的层次模式设计

    DTD(Document Type Definition)和XML Schema是两种定义XML文档结构的方法。DTD相对简单,主要用于定义元素的类型、顺序和属性;而XML Schema更为复杂,提供了更强大的类型系统,可以定义复杂的元素和属性类型,...

    解码XML和DTD

    总结来说,XML和DTD之间的关系是,XML提供了一种灵活的方式来组织和表示数据,而DTD则是为了确保XML文档的结构和内容符合预设的规范,从而提高数据的可靠性和可维护性。对于大型项目或需要严格数据验证的场景,使用...

    xml 面试题总结

    XML 解析技术和文档定义形式 XML(Extensible Markup Language)是...DTD 和 Schema 是两种常见的 XML 文档定义形式,每种形式都有其优缺点。在进行 XML 开发时,需要根据实际情况选择合适的解析技术和文档定义形式。

    XML Schema用法

    例如,在一个书目XML文档的Schema中,`&lt;catalog&gt;`和`&lt;book&gt;`元素可能分别被定义为`catalogtype`和`elementtype`这两种类型,这些类型在Schema文档的其他部分会被详细定义。 XML Schema还提供了注解(annotation)...

    命名空间 dtd文件、Schema文件 (xsd)文件的引入1

    命名空间、DTD 文件和 Schema 文件的引入 在 XML 文档中,命名空间...命名空间、DTD 文件和 Schema 文件都是 XML 文档中的重要组成部分,它们可以用于约束 XML 文档的内容,确保 XML 文档的正确性和一致性。

    XML文档约束之Schema

    XML Schema提供了比早期的DTD(Document Type Definition)更强大的功能,例如支持复杂数据类型、命名空间和更复杂的约束。本篇将深入探讨XML Schema中的常用标签及其作用。 1. `&lt;schema&gt;`:这是XML Schema文档的根...

    xml dtd xsd 标准格式

    DTD(Document Type Definition)和XSD(XML Schema Definition)是两种用来定义XML文档结构和数据类型的规范。 1. XML DTD:DTD是XML的早期规范,用于定义XML文档的元素、属性以及它们之间的关系。它通过一系列...

    XML Schema .ppt

    同时,他还提到了其他几种XML模式语言,如Relax NG和Schematron,它们分别代表了基于语法和基于断言的两种不同的模式定义方法,为XML验证提供了更多选择。 总之,XML Schema是XML文档结构和数据类型定义的强大工具...

    XML DTD XSD,解压后有14M

    DTD(文档类型定义)和XSD(XML Schema)是两种验证XML文档结构和内容的重要工具。 首先,XML是一种自描述性的标记语言,它允许用户自定义标签来表示数据,使得数据更易于理解和处理。XML文档的结构严谨,每个元素...

    两种xml格式的读取方法

    本篇文章将详细介绍两种XML格式的读取方法,分别是使用`XmlDocument`类和基于XML节点遍历的方式。 首先,我们来看第一种XML格式的读取方法,该方法涉及省份名称的提取。代码中定义了一个名为`ReadXML`的方法,它...

Global site tag (gtag.js) - Google Analytics