DTD 是否已被弃用?

2023-12-28

In XML 模式和 DTD 有什么区别? https://stackoverflow.com/questions/1544200/what-is-difference-between-xml-schema-and-dtd,两个回答者表示 DTD“已被弃用”。其中之一,用户 vtd-xml-author,指出

DTD 几乎已被弃用,因为它的用处有限 [...]

用户 Jesse Chisholm 发表评论

已弃用?不。[XDR 已弃用] 过时了吗?或许 [...]

In DTD到底是什么? https://stackoverflow.com/questions/9307571/what-is-dtd-exactly,用户AlexR对一个答案的评论如下:

请注意,DTD 已被弃用,取而代之的是更具声明性和更强大的 XSD。

在这种情况下,没有人会表示不同意见。

那么 DTD 是否已被弃用呢?这肯定是事实问题,而不是意见问题。据推测,W3C 或其他一些标准机构有权确定 DTD 是否实际上已被弃用。当然,在给定上下文(例如,特定软件系统)中使用 DTD 可能会被弃用,而 DTD 本身在该(或任何)上下文之外也不会被弃用。


DTD 尚未正式弃用,但现在有比 DTD 更好的选择来指定 XML 词汇和语法。

通俗地说,已弃用通常用来指不再鼓励的旧方法。从这个意义上说,人们可能会说 DTD 已被弃用。 XSD 比 DTD 更具表现力。 (RELAX NG 和 Schematron 也是更好的选择。)此外,在跨许多领域指定 XML 词汇和语法方面,XSD 的采用早已超过了 DTD。

然而从技术上来说,已弃用通常应用于责任方的正式行为用于其控制下的标准、API、库或其他工件。 W3C 从未声明 DTD 已弃用,因此说 DTD 已弃用在技术上是不正确的。

除了语义之外,对于您开始的任何新的 XML 词汇和语法工作,请选择 XSD(或 RELAX NG 或 Schematron)。目前 DTD 不一定是一个糟糕的选择,但不必被正式弃用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DTD 是否已被弃用? 的相关文章

随机推荐

  • 确定 JS AudioContext.analysisrNode 中的频率

    背景 我的目标是创建一个基于 JavaScript 的 Web 应用程序来分析和显示音频源 包括页内源 中的频率信息
  • 当理论规定使用已检查异常时,我是否应该使用相关的内置未检查异常?

    SO 上有很多关于 检查与非检查异常 主题的帖子 这个答案 https stackoverflow com a 19061110 2520359可能是最全面 信息最丰富的 然而 我仍然对遵循那里提出的逻辑感到矛盾 这是有原因的 我正在围绕一
  • 我应该在我的应用程序中包含命令行模式吗?

    出于学习目的 我正在 C 和 winforms 中开发一个类生成应用程序 我认为包含允许在脚本中使用应用程序的命令行模式可能会很好 在我的应用程序中包含命令行模式是一个很好的做法吗 最好有两个不同的程序 一个带有 GUI 一个用于命令行 实
  • 如何使 Flask/Jinja2 加载可执行 zip 存档中的捆绑模板?

    我已将 Flask Web 应用程序打包成可执行的 Python 压缩存档 zipapp https docs python org 3 6 library zipapp html 我在加载模板时遇到问题 Flask Jinja2 无法找到
  • 如果 ASP.NET 破坏了 DIV 的 ID,如何从 javascript 访问该 DIV?

    我有一个包含 div 元素的网页 在页面上 有 javascript 来引用 div document getElementById divId 在另一位开发人员重新设计该页面以使用 ASP 母版页之前 该方法一直运行良好 Now docu
  • 流复制和逻辑复制的区别

    有人能告诉我更多关于 PostgreSQL 中物理复制和逻辑复制之间的区别吗 TL DR 逻辑复制发送逐行更改 物理复制发送磁盘块更改 逻辑复制对于某些任务更好 而物理复制对于其他任务更好 请注意 在 PostgreSQL 12 更新时的当
  • Rails 购物车 - 未添加到当前订单

    这里是 Rails 菜鸟 我正在构建一个基本的购物车 它之前运行良好 在不更改任何代码的情况下 我 git reset hard 到我以前的提交 它正在工作 它就崩溃了 这是细分 Github 仓库 https github com chr
  • 编译引用的dll

    使用VS2005和VB NET 我有一个项目 它是我创建的数据存储的 API 编译时创建api dll 我在同一解决方案中有第二个项目 它有一个对 API 项目的项目引用 编译时将创建wrapper dll 这基本上是特定于应用程序的 AP
  • 显示对象而不是字符串

    在这里 我附上了我的问题的快照和代码 它只向我显示作为对象的内容 但完美地显示组名 这个问题的快照在下面的链接中给出 只需浏览这张图片 http imageupload org d 4DA941521 快照 gt 我想要特定组名称的子数据
  • 使用 kafka 进行 Spark 结构化流处理只会导致一批(Pyspark)

    我有以下代码 我想知道为什么它只生成一批 df spark readStream format kafka option kafka bootstrap servers IP option subscribe Topic option st
  • 如何设计一个数据库来存储属性,通过同义词选择属性

    我正在为房地产应用程序设计一个数据库 事实证明 它比我预期的更复杂 也许我把事情复杂化了 这些问题本质上是由于以下因素的存在造成的 同义词 例如 术语 公寓 公寓和顶层公寓本质上都指的是同一类型的房产 属性 不同的属性类型有不同的属性 例如
  • 批处理:连接变量和字符串以形成输出路径

    我有一个批处理文件 用户在其中输入文件的路径 然后从该路径中提取文件名 我使用该文件名创建一个同名的文件夹 在该文件夹中 我想创建一个 log txt 文件 我在批处理文件中调用的进程可以将其日志消息写入其中 这是代码 set p path
  • 将数据框与从应用函数创建的另一个数据框合并?

    我有一个数据框 df 工资数据 State Annual Salary New York 132826 New Hampshire 128704 California 127388 Vermont 121599 Idaho 120011 还
  • 在 C# 中访问已释放的闭包?

    我正在调查 Microsoft 企业库 数据应用程序块 示例 sln 他们有一个异步读取数据的示例 IAsync 虽然新版本 6 也支持async 但是雷沙珀 或视觉工作室 没关系 向我展示 访问已处理的闭包 首先我将显示图像 这样会更清晰
  • 从一个位置移动到另一个位置后 UIButton 框架发生变化

    我有 1UIButton in StoryBoard就像下面的屏幕一样 我移动UIButton按照此从一个位置到另一个位置Answer https stackoverflow com questions 45392104 drag uibu
  • NetBeans 远程连接

    我正在尝试设置 netBeans 远程项目 但遇到了很多麻烦 我已经从远程服务器启动了一个 PHP 应用程序 在最后一个确认步骤中它向我抛出了错误 没有可供下载的文件 尝试在远程配置中检查被动模式 在日志输出中 它失败了 gt 215 UN
  • Facelets ui:remove 标签的实际意义

    我想了解基本机制
  • Maven 原型不使用属性来创建模块名称

    我创建了一个原型 您可以在其中设置 moduleName 或期望 使用 必需的属性 moduleName 这里是原型元数据 xml 减少 我也尝试过类似的结果
  • 数据库中的闰秒处理

    As The Unix time number is zero at the Unix epoch and increases by exactly 86400 per day since the epoch So it cannot re
  • DTD 是否已被弃用?

    In XML 模式和 DTD 有什么区别 https stackoverflow com questions 1544200 what is difference between xml schema and dtd 两个回答者表示 DTD