创建没有域的XML名称空间
通常,教程会告诉您在创建新的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' ?>
为什么不经常使用UUID? UUID名称空间的缺点或基于域的名称空间的优点是什么? 如果你的域名到期,你可能会失去它并且必须改变你的所有名字空间。
没有连接,除非在DNS域名和XML名称空间之间偶然发生。
如果你有一个DNS域名并想在你的XML命名空间中使用它,你可以。 如果您没有DNS域名或不想在XML命名空间中使用它,那也没关系。
UUID通常不用于XML名称空间,因为它们不是很有意义 - 类似于通常在IP地址上使用主机和域名。
如果您想要一个可读的全局唯一标识符,只需要您在某个时间点声明域或电子邮件地址的所有权,则可以使用标记URI。 例如:
tag:user@example.com,2007-11-02:Tag_URI
urn:uuid
会非常有效,但有时更多结构的标识符会更容易被发现,或允许关联相关的命名空间。
这个问题是一个类似的问题,除了Java程序包名称。 Java规范提出了域约定,但它不是强制性的。 他们的选择解释如下:
生成唯一包名的建议惯例仅仅是在现有的,广为人知的唯一名称注册表之上搭载一个包命名约定的方式,而不必为包名创建单独的注册表。
以下是一些选项及其主要优点和缺点。
UUID
优点:
缺点:
网址
优点:
缺点:
电子邮件
优点:
缺点:
标记URI
从乔的回答。
优点:
缺点:
什么
优点:
缺点:
结论
我认为最终的最佳解决方案是UUID,也许是一个规范的项目名称(如果您想更改名称,可能会遇到问题)。 域名/电子邮件与项目无关,只是一种提供唯一性的方式,UUID已经废弃了这种唯一性。
链接地址: http://www.djcxy.com/p/70135.html