[Mirrored from: http://www.entmp.org/fpi-urn/fpi.html]

FPI-URN Resolution on the Internet: Notes


Formal Public Identifiers (FPIs)

ISO/IEC 9070:1991

Thanks to Martin Bryan for this.

public identifier =
owner name, "//", object name
owner name =
registered owner name | unregistered owner name
registered owner name =
registered owner prefix, ( "::", owner-name component)*
owner name component =
owner-name character, (SPACE?, owner-name character)*
owner-name character =
UC Letter | LC Letter | Digit | "'" | "(" | ")" | "+" | "," | "-" | "." | ":" | "=" | "?" | "/"
registered owner prefix =
ISO standard authority prefix | ISO registration authority prefix | ISO member body prefix | ISO identified organization authority prefix
ISO standard authority prefix =
"ISO", ("/", "aaa")?, SPACE, "nnnnn", ("-", "pp")?, ":", yyyy"?
ISO registration authority prefix =
full registration authority prefix | ISBN prefix | ISO 2375 prefix
full registration authority prefix =
"ISO", ("/", "aaa")?, SPACE, "nnnn", ("-", "pp")?, "/", ("R" | "r"), ("A" | "a")
ISBN prefix =
"ISBN", SPACE, "gggg", "-" "pppp" ("-", "tttt")?
ISO 2375 prefix =
"ISO Registration Number", SPACE, "ccc"+
ISO member body authority prefix =
"aa"
ISO identified organization authority prefix =
"ICD", "iiii", "/", "oooo"
object name =
object-name component, ("::", object-name component)*
object-name component =
(object-name character, (SPACE?, object-name character)*
object-name character =
UC Letter | LC Letter | Digit | "'" | "(" | ")" | "+" | "," | "-" | "." | ":" | "=" | "?" | "/"

ISO 8879:1986

fpi =
owner_identifier // text_identifier
owner_identifier =
ISO_owner_identifier | registered_owner_identifier | unregistered_owner_id
text_identifier =
public_text_class SPACE unavailable_text_indicator? public_text_description // (public_text_language | public_text_designating_sequence) (// public_text_display_version)?
ISO_owner_identifier =
minimum_data
registered_owner_identifier =
+// minimum_data
unregistered_owner_identifier =
-// minimum_data
public_text_class =
CAPACITY | CHARSET | DOCUMENT | DTD | ELEMENTS | ENTITIES | LPD | NONSGML | NOTATION | SHORTREF | SUBDOC | SYNTAX | TEXT
unavailable_text_indicator =
-//
public_text_description =
minimum_data
public_text_language =
code from ISO 639 (only if class is not CHARSET)
public_text_designating_sequence =
external form of ISO 2022 escape sequence for character set (only if class is CHARSET)
public_text_display_version =
description of devices supported or encoding scheme used (not if class is CAPACITY, CHARSET, NOTATION or SYNTAX)
minimum data =
(RS | RE | SPACE | LETTER | DIGIT | SPECIAL)*

Maintained by James K. Tauber / jtauber@entmp.org
Wednesday, 10-Apr-96 15:28:20 WST