gpt4 book ai didi

xml - 对于 XML 中的非默认命名空间,每个标记都应该有一个前缀吗?

转载 作者:行者123 更新时间:2023-12-02 02:14:47 26 4
gpt4 key购买 nike

我是 XML 的初学者。我刚刚研究了命名空间,我有点挣扎所以我的问题是在这个例子中,

<s:root xmlns:s="help.com">
<h></h>
</s:root>

我们可以<h>吗?没有 s:前缀 ?

如果是,就是<h>包含在 s: 中是否命名空间?

我知道这是一个愚蠢的问题,但每个人都开始愚蠢。感谢您的回答。

最佳答案

您的问题一点都不“愚蠢”——实际上反射(reflect)了先进的新兴理解。

“应该”XML

“应该”XML 问题可以在两个级别上回答:well-formedness and validity .

  1. 您的 XML 确实格式正确。它遵循所有规则是 XML。它甚至遵循所有规则命名空间格式正确。根据 XML 格式良好的规则,是的,你可以有一个没有 s: 前缀的 h 元素。 (根据规则namespace-well-formedness,你也可以——你只是不能带有未声明的 d 命名空间前缀的 d:h 元素。)

  2. 您的 XML 可能有效也可能无效。在 XML 术语中,有效暗示它遵循模式给出的规则(通常是 XSD;不太常见的 DTD、Relax NG、Schematron 等)。根据有效期规则由 XML 模式给出,您可能有也可能没有 h 元素在那个位置——我们必须有一个 XML 模式才能知道。

XML 命名空间

对于您的 XML,

<s:root xmlns:s="help.com">
<h></h>
</s:root>
  • root 位于 help.com 命名空间中。
  • h 不在命名空间中。

对于这个 XML,

<root xmlns="help.com">
<h></h>
</root>
  • root 位于 help.com 命名空间中。
  • h 也在 help.com 命名空间中,因为 xmlns="help.com" 声明应用于 root 和所有后代元素的默认命名空间缺少命名空间声明。

关于xml - 对于 XML 中的非默认命名空间,每个标记都应该有一个前缀吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67342901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com