RFC 3151 (rfc3151) - Page 2 of 9
A URN Namespace for Public Identifiers
Alternative Format: Original Text Document
RFC 3151 A URN Namespace for Public Identifiers August 2001
This document describes a scheme for representing public identifiers
as URNs by introducing a public identifier namespace, "publicid".
This namespace specification is for a formal namespace.
1.1 Public Identifiers
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.
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.
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.
1.2 Formal Public Identifiers
SGML [2] defines a restricted subset of public identifier called a
"Formal Public Identifier" (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.
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).
In other words, most FPIs look like this:
owner//class description//language//version
and most owners begin with "+//" or "-//", although they are not
required to. Here are some example FPIs:
Walsh, et al. Informational