您如何解决 URN?

Col*_*lin 4 xml xsd urn

我有一个 XML 模式文件,它引用了一个基于 urn 的位置。有什么方法可以将其解析为 url,或者有什么方法可以实际读取它所引用的文件。

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.1"/>
Run Code Online (Sandbox Code Playgroud)

Pet*_*uss 5

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

http://www.w3.org/TR/xmlschema-1/#schema-repr查看schemaLocation的常用语义和值


URN 解析

您可以在 Wikipedia 上看到真实的 URN 示例,并在RFC-2169RFC-2483上看到术语“解析 URN”的完整语义。根据这些RFC你需要的是一个本地软件或“URN解析器”软件(的URL Web服务是做)N2L:给定一个URN,返回一个URL。

广泛使用的 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 喜欢urn:doiurn:lex:br具有如此使用和稳定的解析机制(分别位于dx.doi.orglexml.gov.br/urn),但未在IANA 的 assignments/urn-namespaces 注册;未使用、不稳定且不受控制的 URN,例如 urn:oasis:names:tc:ditaurn:oasis在 IANA 注册。


Jas*_*n S 2

...也许看看RFC3121 OASIS 的 URN 命名空间?

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

编辑2:在 oasis-open.org 中进行了一些谷歌搜索,发现了一个名为tblDeclGrp.xsd的文件以及对其和其他模式的一些评论