Network Working Group                                           N. Walsh
Request for Comments: 3151                        Sun Microsystems, Inc.
Category: Informational                                         J. Cowan
                                              Reuters Health Information
                                                               P. Grosso
                                                         Arbortext, Inc.
                                                             August 2001
        
Network Working Group                                           N. Walsh
Request for Comments: 3151                        Sun Microsystems, Inc.
Category: Informational                                         J. Cowan
                                              Reuters Health Information
                                                               P. Grosso
                                                         Arbortext, Inc.
                                                             August 2001
        

A URN Namespace for Public Identifiers

公用标识符的URN命名空间

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

Abstract

摘要

This document describes a URN (Uniform Resource Name) namespace that is designed to allow Public Identifiers to be expressed in URI (Uniform Resource Identifiers) syntax.

本文档描述了一个URN(统一资源名称)命名空间,该命名空间旨在允许公共标识符以URI(统一资源标识符)语法表示。

1. Introduction
1. 介绍

XML [1] external entities have two identifiers: a system identifier and a public identifier. The system identifier is a URI, by definition, but the public identifier is simply a string.

XML[1]外部实体有两个标识符:系统标识符和公共标识符。根据定义,系统标识符是一个URI,但公共标识符只是一个字符串。

Historically, the system identifier of an external entity has been a local, or system-specific identifier while the public identifier has been a more global, persistent name.

从历史上看,外部实体的系统标识符一直是本地或系统特定的标识符,而公共标识符一直是更全局、持久的名称。

Unfortunately, public identifiers do not fit neatly into the existing web architecture because they are not legal URIs. Many new specifications (XSLT, XML Schema, etc.) have the implicit or explicit requirement that all external identifiers be URIs.

不幸的是,公共标识符不适合现有的web体系结构,因为它们不是合法的URI。许多新规范(XSLT、XML模式等)都隐含或明确要求所有外部标识符都是URI。

The purpose of this namespace is to allow public identifiers to be encoded in URNs in a reliable, comparable way.

此名称空间的目的是允许以可靠、可比较的方式在URN中编码公共标识符。

This document describes a scheme for representing public identifiers as URNs by introducing a public identifier namespace, "publicid".

本文档通过引入公共标识符名称空间“publicid”,描述了一种将公共标识符表示为URN的方案。

This namespace specification is for a formal namespace.

此名称空间规范适用于正式名称空间。

1.1 Public Identifiers
1.1 公共标识符

Any string which consists only of the public identifier characters (defined by Production 13 of Extensible Markup Language (XML) 1.0 Second Edition [1]) is a legal public identifier.

任何仅由公共标识符字符(由可扩展标记语言(XML)1.0第二版[1]的产品13定义)组成的字符串都是合法的公共标识符。

In addition to the character set restriction, public identifiers must be normalized by changing all strings of whitespace (the characters #x20, #x9, #xD, and #xA) to single space characters (#x20), and removing all leading and trailing whitespace.

除了字符集限制外,还必须通过将所有空白字符串(字符#x20、#x9、#xD和#xA)更改为单空格字符(#x20)并删除所有前导和尾随空白来规范公共标识符。

In keeping with this specification's goal of allowing public identifiers to be encoded in a reliable, comparable way, this specification mandates that public identifiers be normalized before encoding them into URNs. Throughout this specification, we assume that normalization has already been performed.

为了与本规范允许以可靠、可比较的方式对公共标识符进行编码的目标保持一致,本规范要求在将公共标识符编码到URN之前对其进行规范化。在本规范中,我们假设已经执行了规范化。

1.2 Formal Public Identifiers
1.2 正式公共标识符

SGML [2] defines a restricted subset of public identifier called a "Formal Public Identifier" (FPI).

SGML[2]定义了公共标识符的一个受限子集,称为“正式公共标识符”(FPI)。

FPIs are strings composed from the same range of characters as public identifiers, but with an explicit internal structure. The structure of Formal Public Identifiers is normatively described in SGML [2]; we review it here for convenience.

FPI是由与公共标识符相同的字符范围组成的字符串,但具有明确的内部结构。SGML[2]规范地描述了正式公共标识符的结构;为了方便起见,我们在这里复习一下。

Most Formal Public Identifiers consist of the following fields, in this order: an owner identifier, a public text class, a public text description, a public text language or public text designating sequence, and an optional public text display version.

大多数正式的公共标识符按顺序由以下字段组成:所有者标识符、公共文本类、公共文本描述、公共文本语言或公共文本指定序列,以及可选的公共文本显示版本。

Owner identifiers may begin with "-//" or "+//"; otherwise "//" is used to delimit fields in the FPI (with the exception of the public text class which is delimited from the public text description by a space).

所有者标识符可以以“-/”或“+/”开头;否则,将使用“/”分隔FPI中的字段(公共文本类除外,该类由空格与公共文本描述分隔)。

In other words, most FPIs look like this:

换句话说,大多数FPI如下所示:

      owner//class description//language//version
        
      owner//class description//language//version
        

and most owners begin with "+//" or "-//", although they are not required to. Here are some example FPIs:

大多数所有者以“+//”或“-//”开头,尽管他们不需要这样做。以下是一些FPI示例:

   +//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML
   -//OASIS//DTD DocBook XML V4.1.2//EN
   -//ArborText::prod//DTD Help Navigation Document::19970708//EN
   ISO/IEC 10179:1996//DTD DSSSL Architecture//EN
   ISO 8879:1986//ENTITIES Added Latin 1//EN
        
   +//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML
   -//OASIS//DTD DocBook XML V4.1.2//EN
   -//ArborText::prod//DTD Help Navigation Document::19970708//EN
   ISO/IEC 10179:1996//DTD DSSSL Architecture//EN
   ISO 8879:1986//ENTITIES Added Latin 1//EN
        

This document describes an algorithm for encoding public identifiers into URNs that explicitly allows the structured nature of formal public identifiers to be preserved. However, an algorithm for correctly identifying a Formal Public Identifier and determining the various fields within it is out of scope for this document and not necessary for the implementation of this URN namespace.

本文档描述了一种将公共标识符编码到URN中的算法,该算法明确允许保留正式公共标识符的结构化特性。但是,用于正确识别正式公共标识符并确定其中各个字段的算法超出了本文档的范围,并且对于实现此URN名称空间来说不是必需的。

2. Specification Template
2. 规范模板

Namespace ID:

命名空间ID:

"publicid" requested.

请输入“publicid”。

Registration Information:

注册资料:

Registration Version Number: 1 Registration Date: 2001-05-08

注册版本号:1注册日期:2001-05-08

Declared registrant of the namespace:

已声明命名空间的注册人:

Norman Walsh Sun Microsystems, Inc. One Network Drive MS UBURO2-201 Burlington, MA 01803-0902

诺曼沃尔什太阳微系统有限公司,一个网络驱动器,马萨诸塞州伯灵顿UBURO2-201,邮编01803-0902

Norman.Walsh@East.Sun.COM

诺曼人的Walsh@East.Sun.COM

Declaration of structure:

结构声明:

The Namespace Specific String (NSS) for URNs in the "publicid" namespace has the following structure:

“publicid”命名空间中URN的命名空间特定字符串(NSS)具有以下结构:

         urn:publicid:{transcribed-public-identifier}
        
         urn:publicid:{transcribed-public-identifier}
        

Where:

哪里:

{transcribed-public-identifier} is the text of the public identifier transcribed according to the following rules:

{转录的公共标识符}是根据以下规则转录的公共标识符的文本:

- A space in the public identifier is transcribed as "+". Whitespace normalization must be performed before constructing a URN in the "publicid" namespace, therefore adjacent "+" characters never occur in URNs in this namespace. - The sequence of characters "//" is transcribed as ":". - The sequence of characters "::" is transcribed as ";". - A literal "+" character is transcribed as "%2B". - A literal ":" character (except in "::") is transcribed as "%3A". - A literal "/" character (except in "//") is transcribed as "%2F". - A literal ";" character is transcribed as "%3B". - A literal "'" character is transcribed as "%27". - A literal "?" character is transcribed as "%3F". - A literal "#" character is transcribed as "%23". - A literal "%" character is transcribed as "%25".

- 公共标识符中的空格被转录为“+”。在“publicid”命名空间中构造URN之前必须执行空白规范化,因此此命名空间中的URN中永远不会出现相邻的“+”字符。-字符“/”的顺序被转录为“:”字符序列“:”被转录为“;”文字“+”字符被转录为“%2B”。-文字“:”字符(除“:”)转录为“%3A”。-文字“/”字符(在“/”中除外)转录为“%2F”。-文字“;”字符被转录为“%3B”。-文字字符“'”被转录为“%27”。-文字“?”字符被转录为“%3F”。-文字“#”字符被转录为“%23”。-文字“%”字符被转录为“%25”。

The special rules for "//" and "::" are designed to preserve the structured nature of formal public identifiers without requiring the translator to have special knowledge of FPI syntax.

“/”和“:”的特殊规则旨在保留正式公共标识符的结构化性质,而无需译者具备FPI语法的特殊知识。

The rules for "+", ":", "/", and ";" are required to preserve literal occurrences of these characters in the 'publicid' URN namespace.

需要“+”、“:”、“/”和“;”的规则来保留这些字符在“publicid”URN命名空间中的文字引用。

The remaining characters, " " (space), "'", "?", "#", and "%", are the only other legal characters in public identifiers that cannot be literally transcribed into a URN by the rules of RFC 2141 [4] and RFC 2396 [5].

根据RFC 2141[4]和RFC 2396[5]的规则,公共标识符中的其余字符““(空格)、”、“?”、“#”和“%”是唯一不能逐字转录到URN中的其他合法字符。

Relevant ancillary documentation:

相关辅助文件:

      Extensible Markup Language (XML) Version 1.0 Second Edition [1]
      Standard Generalized Markup Language (SGML) [2]
      Registration procedures for public text owner identifiers [3]
        
      Extensible Markup Language (XML) Version 1.0 Second Edition [1]
      Standard Generalized Markup Language (SGML) [2]
      Registration procedures for public text owner identifiers [3]
        

Identifier uniqueness considerations:

标识符唯一性注意事项:

The identifier uniqueness considerations for URNs in the "publicid" namespace are the same as the identifier uniqueness considerations for public identifiers. Formal Public Identifiers with registered owner identifiers are required to be unique. For unregistered owner identifiers and informal public identifiers, they may or may not be unique. No enforcement policy can be asserted.

“publicid”命名空间中URN的标识符唯一性注意事项与公共标识符的标识符唯一性注意事项相同。具有注册所有者标识符的正式公共标识符必须是唯一的。对于未注册的所有者标识符和非正式公共标识符,它们可能是唯一的,也可能不是唯一的。无法断言任何强制策略。

Identifier persistence considerations:

标识符持久性注意事项:

The persistence of URNs in the "publicid" namespace is the same as the persistence of the corresponding public identifier.

“publicid”命名空间中URN的持久性与相应公共标识符的持久性相同。

The "publicid" namespace is available for a wide range of uses; it cannot be subjected to a uniform persistence policy. As a general rule, formal public identifiers with registered owner identifiers are more likely to be persistent than informal public identifiers or formal public identifiers with unregistered owner identifiers.

“publicid”名称空间可供广泛使用;它不能受统一持久性策略的约束。作为一般规则,具有注册所有者标识符的正式公共标识符比具有未注册所有者标识符的非正式公共标识符或正式公共标识符更可能是持久的。

One exception to this rule is the "IDN" scheme for producing a registered owner identifier from a domain name. That scheme contains at least all the weaknesses associated with the persistence of domain names.

此规则的一个例外是“IDN”方案,用于从域名生成注册所有者标识符。该方案至少包含与域名持久性相关的所有弱点。

It is important to note that a properly registered owner identifier can apply any policy desired to the portion of the "publicid" URN namespace identified by that owner identifier.

需要注意的是,正确注册的所有者标识符可以将所需的任何策略应用于由该所有者标识符标识的“publicid”URN命名空间部分。

Process of identifier assignment:

标识符分配过程:

Identifiers in the "publicid" namespace are assigned by applying the conversions described above to a public identifier. In order to provide a URN in this namespace for a resource that does not have a public identifier, one must be created (according to the rules for creating public identifiers).

“publicid”命名空间中的标识符是通过将上述转换应用于公共标识符来分配的。为了在此命名空间中为没有公共标识符的资源提供URN,必须创建一个URN(根据创建公共标识符的规则)。

There is no requirement that a resource have only one public identifier.

不要求资源只有一个公共标识符。

Process of identifier resolution:

标识符解析过程:

Identifiers in the "publicid" namespace may be resolved by the same policies and procedures as public identifiers. Public identifiers can be resolved in many different ways. Many existing systems provide facilities for resolving them by way of OASIS TR9401 [6] Catalog files. Other systems resolve them by mapping each component to a local pathname component. And some systems simply "know about" a fixed set of public identifiers. In addition, URNs in the 'publicid' namespace may be resolvable by other mechanisms unique to URIs (such as caches).

“publicid”命名空间中的标识符可以通过与公共标识符相同的策略和过程进行解析。公共标识符可以通过许多不同的方式进行解析。许多现有系统通过OASIS TR9401[6]目录文件提供解决这些问题的工具。其他系统通过将每个组件映射到本地路径名组件来解决这些问题。有些系统只是“知道”一组固定的公共标识符。此外,“publicid”命名空间中的URN可以由URI特有的其他机制(如缓存)解析。

Rules for Lexical Equivalence:

词汇对等规则:

Whitespace normalization is performed before constructing a URN in the "publicid" namespace, so URNs are lexically equivalent if and only if they are lexically identical.

空白规范化是在“publicid”命名空间中构造URN之前执行的,因此URN在词汇上是等价的,当且仅当它们在词汇上是相同的。

Conformance with URN Syntax:

符合URN语法:

No special considerations. URNs in this namespace conform to both RFC 2141 and RFC 2396.

没有特别考虑。此命名空间中的URN同时符合RFC 2141和RFC 2396。

Validation mechanism:

验证机制:

None specified.

没有具体说明。

Scope:

范围:

Global

全球的

3. Examples
3. 例子

The following examples are not guaranteed to be real. They are listed for pedagogical reasons only.

以下示例不能保证是真实的。它们仅出于教学原因列出。

      "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" becomes
      "urn:publicid:ISO%2FIEC+10179%3A1996:DTD+DSSSL+Architecture:EN"
        
      "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" becomes
      "urn:publicid:ISO%2FIEC+10179%3A1996:DTD+DSSSL+Architecture:EN"
        
      "ISO 8879:1986//ENTITIES Added Latin 1//EN" becomes
      "urn:publicid:ISO+8879%3A1986:ENTITIES+Added+Latin+1:EN"
        
      "ISO 8879:1986//ENTITIES Added Latin 1//EN" becomes
      "urn:publicid:ISO+8879%3A1986:ENTITIES+Added+Latin+1:EN"
        
      "-//OASIS//DTD DocBook XML V4.1.2//EN" becomes
      "urn:publicid:-:OASIS:DTD+DocBook+XML+V4.1.2:EN"
        
      "-//OASIS//DTD DocBook XML V4.1.2//EN" becomes
      "urn:publicid:-:OASIS:DTD+DocBook+XML+V4.1.2:EN"
        
      "+//IDN example.org//DTD XML Bookmarks 1.0//EN//XML" becomes
      "urn:publicid:%2B:IDN+example.org:DTD+XML+Bookmarks+1.0:EN:XML"
        
      "+//IDN example.org//DTD XML Bookmarks 1.0//EN//XML" becomes
      "urn:publicid:%2B:IDN+example.org:DTD+XML+Bookmarks+1.0:EN:XML"
        
      "-//ArborText::prod//DTD Help Document::19970708//EN" becomes
      "urn:publicid:-:ArborText;prod:DTD+Help+Document;19970708:EN"
        
      "-//ArborText::prod//DTD Help Document::19970708//EN" becomes
      "urn:publicid:-:ArborText;prod:DTD+Help+Document;19970708:EN"
        

"foo" becomes "urn:publicid:foo"

“foo”变为“urn:publicid:foo”

      "3+3=6" becomes
      "urn:publicid:3%2B3=6"
        
      "3+3=6" becomes
      "urn:publicid:3%2B3=6"
        
      "-//Acme, Inc.//DTD Book Version 1.0" becomes
      "urn:publicid:-:Acme,+Inc.:DTD+Book+Version+1.0"
        
      "-//Acme, Inc.//DTD Book Version 1.0" becomes
      "urn:publicid:-:Acme,+Inc.:DTD+Book+Version+1.0"
        
4. Security Considerations
4. 安全考虑

There are no additional security considerations other than those normally associated with the use and resolution of URNs in general.

除了通常与使用和解决骨灰盒相关的安全注意事项外,没有其他安全注意事项。

References

工具书类

[1] W3C, XML WG, "Extensible Markup Language (XML) 1.0 Second Edition", February 1998, <http://www.w3.org/TR/REC-xml>.

[1] W3C,XML工作组,“可扩展标记语言(XML)1.0第二版”,1998年2月<http://www.w3.org/TR/REC-xml>.

[2] JTC 1, SC 34, "ISO 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML)", 1986.

[2] JTC 1,SC 34,“ISO 8879:1986信息处理——文本和办公系统——标准通用标记语言(SGML)”,1986年。

[3] JTC 1, SC 34, "ISO/IEC 9070:1991 Information technology -- SGML support facilities -- Registration procedures for public text owner identifiers", 1991.

[3] JTC 1,SC 34,“ISO/IEC 9070:1991信息技术——SGML支持设施——公共文本所有者标识符的注册程序”,1991年。

[4] Moats, R., "URN Syntax", RFC 2141, May 1997.

[4] 护城河,R.,“瓮语法”,RFC 21411997年5月。

[5] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998.

[5] Berners Lee,T.,Fielding,R.和L.Masinter,“统一资源标识符(URI):通用语法”,RFC 2396,1998年8月。

[6] Grosso, P., "Entity Management: OASIS Technical Resolution 9401:1997 (Amendment 2 to TR 9401)", Sep 1997, <http://www.oasis-open.org/html/tr9401.html>.

[6] Grosso,P.,“实体管理:OASIS技术决议9401:1997(TR 9401修正案2)”,1997年9月<http://www.oasis-open.org/html/tr9401.html>.

Authors' Addresses

作者地址

Norman Walsh Sun Microsystems, Inc. One Network Drive MS UBURO2-201 Burlington, MA 01803-0902 US

美国马萨诸塞州伯灵顿市诺曼沃尔什太阳微系统有限公司一号网络驱动器MS UBURO2-201邮编01803-0902

   EMail: Norman.Walsh@East.Sun.COM
        
   EMail: Norman.Walsh@East.Sun.COM
        

John Cowan Reuters Health Information 45 West 36th St, 12th Floor New York, NY 10018 US

美国纽约州纽约市西36街45号12楼John Cowan路透社健康信息10018

   EMail: jcowan@reutershealth.com
        
   EMail: jcowan@reutershealth.com
        

Paul Grosso Arbortext, Inc. 1000 Victors Way Ann Arbor, MI 48108-2744 US

Paul Grosso Arbortext,Inc.美国密歇根州安阿伯1000维克多大道48108-2744号

   EMail: pgrosso@arbortext.com
        
   EMail: pgrosso@arbortext.com
        

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。