XML Schema和DTD有什么区别

XML Schema和DTD有什么区别

https://stackoverflow.com/questions/1544200/what-is-difference-between-xml-schema-and-dtd

https://stackoverflow.com/a/1544368:

DTD 和 XML Schema 之间的关键区别在于 XML Schema 使用基于 XML 的语法,而
DTD 具有从 SGML DTD 保留下来的独特语法。尽管 DTD 经常因为需要学习新语法而受
到批评,但语法本身非常简洁。 XML Schema 的情况正好相反,它很冗长,但也使用了标
记和 XML,因此 XML 的作者应该会发现 XML Schema 的语法不那么令人生畏。

https://stackoverflow.com/a/10608432:

XML 架构定义 (XSD) 和文档类型定义 (DTD) 之间的差异包括:

  • XML Schema是用 XML 编写的,而 DTD 是从 SGML 语法派生的。
  • XML Schema定义元素和属性的数据类型,而 DTD 不支持数据类型。
  • XML Schema允许支持命名空间,而 DTD 不支持。
  • XML Schema定义了子元素的数量和顺序,而 DTD 没有。
  • 您可以使用 XML DOM 自行操作 XML Schema,但在 DTD 的情况下这是不可能的。
  • 使用 XML Schema的用户不需要学习一门新语言,但使用 DTD 对用户来说却很困难。
  • XML Schema提供安全的数据通信,即发送方可以以接收方能够理解的方式描述数据,但>在 DTD 的情况下,接收方可能会误解数据。
  • XML Schema是可扩展的,而 DTD 是不可扩展的。
  • 并非所有这些要点都是 100% 准确的,但您明白了要点。

另一方面:

  • DTD 允许您定义新的 ENTITY 值以在 XML 文件中使用。
  • DTD 允许您将其本地扩展到单个 XML 文件。
作者

zhang

发布于

2022-11-28

更新于

2023-09-19

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×