use*_*538 6 xml uuid uri namespaces
通常教程会告诉您在创建新的 XML 命名空间时使用自己的域名。不是每个人都拥有域,它需要花钱,而且该站点可能与您使用 XML 的目的无关。
什么是好的替代方案?
在这个答案中,示例只有some_identifier,但维基百科说它是一个 URI。URI 可以是 URL 或 URN。
URL 可以提供到模式的链接,但是命名空间的主要目的是作为唯一标识符,因此 URN 更适合。
如何生成唯一标识符?UUID 非常适合用作标识符,所以我搜索了一下, W3C上甚至有一个示例:
<?xml:namespace ns='urn:uuid:C4ED1820-6207-11d1-A29F-00AA00C14882/'
src='http://www.w3.org' prefix='w3c' ?>
Run Code Online (Sandbox Code Playgroud)
为什么人们不更频繁地使用 UUID?UUID 命名空间的缺点或基于域的命名空间的优点是什么?如果您的域名过期,您可能会丢失它并且必须更改所有命名空间。
这个问题是一个类似的问题,除了Java包名称。Java规范建议了域约定,但不是强制性的。他们的选择解释如下:
建议的生成唯一包名称的约定仅仅是在现有的、众所周知的唯一名称注册表之上搭载包命名约定的一种方式,而不必为包名称创建单独的注册表。
以下是一些选项及其主要优点和缺点。
优点:
缺点:
优点:
缺点:
优点:
缺点:
从乔的回答来看。
优点:
缺点:
优点:
缺点:
我认为最终最好的解决方案是 UUID 加上规范的项目名称(如果您想更改名称,可能会遇到问题)。域名/电子邮件与项目无关,只是提供唯一性的一种方式,而这种方式已被 UUID 所淘汰。
| 归档时间: |
|
| 查看次数: |
814 次 |
| 最近记录: |