你如何解决URN?

时间:2009-05-07 17:50:31

标签: xml xsd urn

我有一个XML模式文件,它引用了一个基于urn的位置。有没有办法将其解析为url,或者某种方式来实际读取它引用的文件。

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.1"/>

3 个答案:

答案 0 :(得分:4)

这个问题不是解释“URN决议”的好地方...... 我们可以想象从这个绿洲URN到 schemaLocation 文件名或URL的翻译(通过自动翻译器),但它是一个有点奇特的URN应用程序。

http://www.w3.org/TR/xmlschema-1/#schema-repr

查看 schemaLocation 的常用语义和值

URN解决方案

您可以在real-life examples of URNs at WikipediaRFC-2169看到RFC-2483以及术语“解析URN”的完整语义。根据这些RFC,您需要的是本地软件或执行 N2L 的“URN解析器”软件(webservice)的URL:给定URN,    返回一个网址。

广泛使用URN

2002年, URN解决方案机制受到更多关注,两个新的RTF RFC-3404RFC-3405解决了URN的潜在问题,

  

如果URN解析折叠为通用URI解析,则URN可以      因缺乏采用URI解析而受到影响。

     

解决方案是允许URN解析的快捷方式。 (...)通用URI解析从插入开始      已知URI方案的规则进入'uri.arpa'。注册表中。为了      'URN:'URI方案,'uri.arpa'中的规则之一。会的      'urn'URI方案。这个规则只会委托给      'urn.arpa。'基于URN名称空间的其他NAPTR区域。      实质上,'URN:'的URI解析重写规则是URN      决议申请的第一个众所周知的规则。

某些解决方案问题仍然存在:urn:doiurn:lex:br等URN具有如此常用且稳定的解决机制(分别位于dx.doi.orglexml.gov.br/urn),但未在IANA's assignments/urn-namespaces;未使用,不稳定且不受控制的URN urn:oasis:names:tc:dita已在{IANA注册urn:oasis

答案 1 :(得分:2)

......或许可以查看RFC3121 OASIS的URN命名空间?

编辑:我永远不会记住URI和URN,但我的理解是它们只是名称空间,它们实际上不必对应于存储文件的网络上的某个真实位置。它们只是对命名空间的某些部分进行控制,因此urn:oasis处于OASIS的控制之下。您不应该发明层次结构中该部分内的任何URI / URN,除非您可以控制它。

编辑2:谷歌搜索在oasis-open.org找到了一个名为tblDeclGrp.xsd的文件和一些commentary on it and other schemas的文件。

答案 2 :(得分:1)

schemaLocation在这种情况下是位置。如果在同一目录中有一个与此名称完全相同的文件,则应解析该文件。它甚至包括urn:part所以完整的字符串。在模式命名空间之后命名文件非常方便。起初我很困惑,我必须承认。

顺便说一下。 urn不是一个位置,它只是一个URI。 xs的属性:include schemaLocation引用一个位置但属性类型是anyURI,其中包含urn schema

相关问题