DTD 和 XSD 之间有什么区别?


在学习它们之间的区别之前,让我们先了解一下 XML 模式定义 (XSD) 和文档类型定义 (DTD) 的概念。

XML 模式定义 (XSD)

XML 被称为可扩展标记语言,用于表示和操作数据元素。它是一种用于在互联网上以结构化形式通信数据的语言。

XSD 被称为 XML 模式定义,是数据定义语言的扩展版本,用于解释 XML 模式的结构。XML 的特点是它以更精确的方式解释文档,用户可以理解。

XML 模式的用途

XML 模式的用途如下:

  • XSD 提供结构并检查 XML 文件是否根据结构创建,它们帮助程序员创建或输入文件中的错误详细信息。

  • 当数据通过互联网发送时,即从发送方到接收方,使用 XML 模式非常重要,因为它可以保护数据。

  • 通过使用 XML 模式,可以非常轻松地连接到数据库并解释表示模式,即数据格式。

  • 它还有助于将数据从一种格式转换为另一种格式。

示例

考虑一个名为 page.xml 的文件,如下所示:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<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>

XSD 文件以 .xsd 扩展名保存,它为 XML 文件或文档提供结构。上面 xml 代码的 XSD 文件如下:

上面 XSD 文件的示例名为 page.xsd,该文件在 xml 文档中使用。“from”、“heading”和“body”包含字符串类型,为了按顺序使用,我们将它们放在 sequence 标签之间并关闭 schema。

文档类型定义 (DTD)

文档类型定义也称为 DTD,它帮助我们为 XML 文档提供逻辑方法和语法。DTD 使用的扩展名为 .dtd,它提供了关于 XML 文档的约束(即格式、元素)的完整解释。

它是一种支持标记语言的标记声明。DTD 文档的表示形式如下:

https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

要在 XML 格式中使用 DTD,程序员必须在 XML 文档中发送上述声明。

DTD 提供声明,例如如何创建根元素及其子元素以及它们如何相互关联。

语法

DTD 的语法如下:

<!DOCTYPE element DTD identifier
[
   declaration1
   declaration2
   ........
]>

DTD 的用途

DTD 的用途如下:

  • DTD 用于为 xml 文档提供语法和逻辑结构。

  • 它使代码更易读且更易于程序员理解,并将数据存储在 XML 中,使其格式良好且没有复杂性。

示例

以下是 DTD 的表示形式:

<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>

<address>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</address>

更新于:2022-03-17

892 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告