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>