Как вы разрешаете URN?

У меня есть файл схемы XML, который ссылается на местоположение в урне. Есть ли способ разрешить это в URL-адресе или какой-либо способ действительно прочитать файл, на который он ссылается.

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.1"/>
+3
источник поделиться
3 ответа

... возможно, посмотрите RFC3121 Пространство имен URN для OASIS?

edit: я никогда не помню URI и URN, но я понимаю, что это просто пространства имен, они фактически не должны соответствовать реальному местоположению в сети, где хранится файл. Они просто делят контроль над частями пространства имен, поэтому urn:oasis находится под контролем OASIS. Вы не должны изобретать URI/URN, которые находятся внутри этого раздела иерархии, если вы не контролируете его.

edit 2: Небольшой поиск в Google нашел файл в oasis-open.org под названием tblDeclGrp.xsd, а некоторые комментарий к нему и другим схемам.

+2
источник

Этот вопрос не является хорошим местом для объяснений о "разрешении URN"... Мы можем представить перевод (с помощью автоматического переводчика) из этого оазиса URN в имя файла схемы или URL-адреса, но это немного экзотическое приложение для URN.

См. обычную семантику и значения для schemaLocation на http://www.w3.org/TR/xmlschema-1/#schema-repr


Разрешение URN

Вы можете увидеть реальные примеры URN в Википедии и полную семантику термина "разрешить URN" в RFC-2169 и RFC-2483. Согласно этим RFC, вам нужно локальное программное обеспечение или URL-адрес программного обеспечения "URN resolver" (webservice), которые делают N2L: с учетом URN,  верните URL-адрес.

Широко используемые URN

В 2002 году механизм разрешения URN получил больше внимания и два новых RTF, RFC-3404 и RFC-3405, решена скрытая проблема URNs,

Если разрешение URN сворачивается в общее разрешение URI, URN могут    страдают из-за отсутствия принятия разрешения URI.

Решение состоит в том, чтобы разрешить сокращение URN-разрешения. (...) общее разрешение URI начинается с вставки    правила для известных схем URI в "uri.arpa". реестр. Для     "URN:" URI-схема, одно из правил, найденное в "uri.arpa". будет для    схема URI "урны". Это правило просто передало бы    'Urn.arpa. зоны для дополнительных NAPTR на основе пространства имен URN.    По существу, правило перезаписи разрешения URI для "URN:" - это URN    Приложение с разрешением Первое хорошо известное правило.

Сохраняются некоторые проблемы с разрешением: URN, такие как urn:doi или urn:lex:br имеют так используемый и стабильный механизм разрешения (dx.doi.org и lexml.gov.br/urn, но не зарегистрирован в назначения IANA/пространства urn-names; не используемые, нестабильные и неконтролируемые URN, такие как urn:oasis:names:tc:dita, имеют urn:oasis, зарегистрированные в IANA.

+4
источник

В этом случае расположение схемы. Если у вас есть файл с именем точно так же, как в том же каталоге, он должен быть разрешен. Это даже включает в себя urn: part, так что полная строка. Простое имя файла после имени пространства имен схемы. Смущаю сначала, я должен признать.

Btw. Урна не является местоположением, это просто URI. Атрибут xs: include schemaLocation, который ссылается на местоположение, но тип атрибута - anyURI, который включает схему urn

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос