Как вы решаете URN? - PullRequest
       36

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

3 голосов
/ 07 мая 2009

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

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

Ответы [ 3 ]

4 голосов
/ 08 июня 2014

Этот вопрос не подходит для объяснений по поводу "разрешения URN" ... Мы можем представить перевод (с помощью автоматического переводчика) из этого оазисного URN в schemaLocation имя файла или 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 , решили скрытую проблему URN

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

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

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

2 голосов
/ 07 мая 2009

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

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

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

1 голос
/ 07 мая 2009

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

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

...