Public identifier
   HOME

TheInfoList



OR:

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 vCard, also known as VCF (Virtual Contact File), is a file format standard for electronic business cards. vCards can be attached to e-mail messages, sent via Multimedia Messaging Service (MMS), on the World Wide Web, instant messaging, NFC ...
and
iCalendar The Internet Calendaring and Scheduling Core Object Specification (iCalendar) is a media type which allows users to store and exchange calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, a ...
formats to identify the software product that has generated data. More recently, Uniform Resource Identifiers (URIs) and
universally unique identifier A universally unique identifier (UUID) is a 128-bit label used for information in computer systems. The term globally unique identifier (GUID) is also used. When generated according to the standard methods, UUIDs are, for practical purposes, u ...
s (UUIDs) are usually used to uniquely identify objects. FPIs have become a
legacy system In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system", yet still in use. Often referencing a system as "legacy" means that it paved ...
.


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
slash Slash may refer to: * Slash (punctuation), the "/" character Arts and entertainment Fictional characters * Slash (Marvel Comics) * Slash (''Teenage Mutant Ninja Turtles'') Music * Harry Slash & The Slashtones, an American rock band * Nash ...
. Owner identifiers that are prefixed with "-//" indicate unregistered owners. (The
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
is notable for not having registered its FPI name.) Registered identifiers are prefixed with "+//" and a small number of identifiers assigned by
International Organization for Standardization The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in Art ...
(ISO) do not require a prefix at all. Registered
domain name A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Internet, such as websites, email services and more. As ...
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 declaration #REDIRECT Document type declaration {{redirect category shell, {{R move{{R from other capitalisation{{R up ...
, an integral component of valid
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaSc ...
,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
and Standard Generalized Markup Language (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, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from L ...
it, but also upon the ISO-registration status of the organisation responsible for
schema The word schema comes from the Greek word ('), which means ''shape'', or more generally, ''plan''. The plural is ('). In English, both ''schemas'' and ''schemata'' are used as plural forms. Schema may refer to: Science and technology * SCHEMA ...
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
Uniform Resource Name A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the scheme. URNs are globally unique persistent identifiers assigned within defined namespaces so they will be available for a long period of time, even after the res ...
(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:
urn:publicid:-:W3C:DTD+HTML+4.01:EN


References

{{Reflist, 30em Identifiers