Formal Public Identifier
Encyclopedia
A Formal Public Identifier (FPI) is a short piece of specially formatted text that may be used to uniquely identify a product, specification or document. One of their most common uses is as part of document type definitions, but they are also used in the vCard
and iCalendar
formats to identify the software product that has generated data.
More recently, URI
s and UUIDs are usually used to uniquely identify objects. FPIs have become a legacy system
.
.
Owner identifiers that are prefixed with "
Registered domain name
s may be used as owner identifiers. For example, the owner of
Text identifiers can be broken down into the class, description and language. In this case the class is "
, an integral component of valid HTML
, XML
and SGML documents. The Formal Public Identifier's effect upon its host document is unusual in that it can depend not only upon its own syntactical correctness and the behaviour of the program parsing
it, but also upon the ISO-registration status of the organisation responsible for schema
referenced by the FPI.
The FPI in the document type declaration above reads -//W3C//DTD HTML 4.01//EN
A URN
namespace has been defined to allow any FPI to be rewritten as a URI, replacing double slashes with colons
. The earlier example may be written as the following URI:
VCard
vCard is a file format standard for electronic business cards. vCards are often attached to e-mail messages, but can be exchanged in other ways, such as on the World Wide Web or Instant Messaging...
and iCalendar
ICalendar
iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics...
formats to identify the software product that has generated data.
More recently, URI
Úri
Úriis a village and commune in the comitatus of Pest in Hungary....
s and UUIDs are usually used to uniquely identify objects. FPIs have become a legacy system
Legacy system
A legacy system is an old method, technology, computer system, or application program that continues to be used, typically because it still functions for the users' needs, even though newer technology or more efficient methods of performing a task are now available...
.
Syntax
An example identifier "-//W3C//DTD HTML 4.01//EN
" can be broken down into two parts: the owner identifier which indicates the issuer of the FPI, and the text identifier which indicates the particular document or object the FPI identifies. In the example, the owner identifier is "-//W3C
" and the text identifier is "DTD HTML 4.01//EN
". The two parts are separated by a double slashSlash (punctuation)
The slash is a sign used as a punctuation mark and for various other purposes. It is now often called a forward slash , and many other alternative names.-History:...
.
Owner identifiers that are prefixed with "
-//
" indicate unregistered owners. (The W3C is notable for not having registered its FPI name.) Registered identifiers are prefixed with "+//
" and a small number of identifiers assigned by ISO do not require a prefix at all.Registered domain name
Domain name
A domain name is an identification string that defines a realm of administrative autonomy, authority, or control in the Internet. Domain names are formed by the rules and procedures of the Domain Name System ....
s may be used as owner identifiers. For example, the owner of
example.net
could issue FPIs using the owner identifier "+//IDN example.net
".Text identifiers can be broken down into the class, description and language. In this case the class is "
DTD
", indicating that the FPI represents a document type definition; the description is "HTML 4.01
"; and the language is "EN
" which suggests that the document type definition is written in English (though documents conforming to the DTD do not need to be in English). The class is separated from the description using a space character; the description is separated from the language using a double slash. The text identifier may optionally contain a version indicator after the language, also separated by a double slash.Use in XML and SGML
The FPI is undoubtedly the least well-understood part of the document type declarationDocument Type Declaration
A Document Type Declaration, or DOCTYPE, is an instruction that associates a particular SGML or XML document with a Document Type Definition...
, an integral component of valid HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
and SGML documents. The Formal Public Identifier's effect upon its host document is unusual in that it can depend not only upon its own syntactical correctness and the behaviour of the program parsing
Parsing
In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens , to determine its grammatical structure with respect to a given formal grammar...
it, but also upon the ISO-registration status of the organisation responsible for schema
XML schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...
referenced by the FPI.
Example
A document type declaration (for HTML 4.01 strict) containing an FPI:The FPI in the document type declaration above reads -//W3C//DTD HTML 4.01//EN
Relationship to URIs
Increasingly, specifications use URIs rather than FPIs to handle the task of unique identification. For example, XML namespace names are URIs.A URN
Uniform Resource Name
A uniform resource name is a uniform resource identifier that uses the urn scheme and does not imply availability of the identified resource. Both URNs and URLs are URIs, and a particular URI may be a name and a locator at the same time.The functional requirements for uniform resource names are...
namespace has been defined to allow any FPI to be rewritten as a URI, replacing double slashes with colons
Colon (punctuation)
The colon is a punctuation mark consisting of two equally sized dots centered on the same vertical line.-Usage:A colon informs the reader that what follows the mark proves, explains, or lists elements of what preceded the mark....
. The earlier example may be written as the following URI:
urn:publicid:-:W3C:DTD+HTML+4.01:EN