gpt4 book ai didi

xml - xmlns 属性中命名空间的值

转载 作者:行者123 更新时间:2023-12-04 16:52:14 25 4
gpt4 key购买 nike

我看到以下文档使用 2 个命名空间

**

<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>

**

问题:-

命名空间是否有任何命名约定,或者它应该只是一个有效的 http 地址?

例如:- 在下面的例子中,我给出了“test1”和“test2”。它有效吗?
<root>
<h:table xmlns:h="http://test1.com">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://test2.com">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>

最佳答案

根据the specification , 一个“命名空间名称”可以是任何有效的 URI - 包括我们最熟悉的 HTTP URL,以及以不同方式管理的其他形式,例如 URN(统一资源名称)。

所以在你的例子中 http://test1.comhttp://test2.com是有效的 URI,因此它们是有效的命名空间名称。

但是,此注释(来自 this section of the spec )阐明了应如何选择 URI:

The namespace name, to serve its intended purpose, SHOULD have the characteristics of uniqueness and persistence. It is not a goal that it be directly usable for retrieval of a schema (if any exists). Uniform Resource Names [RFC2141] is an example of a syntax that is designed with these goals in mind. However, it should be noted that ordinary URLs can be managed in such a way as to achieve these same goals.



创建可以保证(在合理程度上)唯一且持久的 URI 的最明显方法是 使用您拥有的域 .只要您对该域拥有权限,其他人就不太可能选择具有不同含义的相同 URL。此外,任何在该 namespace 上寻找权限的人都会假设您作为域的 Controller ,就是该权限。

如果您拥有域 user1050619.com ,因此您可以使用命名空间名称 http://user1050619.com/XMLNS/Test1http://user1050619.com/XMLNS/Test2
解析该 URL 不一定会产生任何有用的(或根本没有),但是 通常的做法是在那里托管某种形式的文档 - 机器可读的文档,如 DTD 或模式定义,或解释该模式定义的元素的人类可读页面。或者,您可以将用户重定向到 Rick ASTLey 视频;)

关于xml - xmlns 属性中命名空间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131367/

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