Document Information
Status: Draft
Version: V1.00.20050101
Revision Date: 2005-01-01
Type: Specification
CORDRA ID:
H
[2000.01/EEF4DF17361A42E2B975E554663B70C3]
Metadata ID:
H
[2000.01/F4FBE5D290194191AAD3A1EFE79D6C5A]
Abstract
This document describes the representation of CORDRA identifiers as Handles.
CORDRA uses the H Handle System for identifiers. This document describes the form of handles used for all CORDRA system objects. A separate document describes H Encoding CORDRA Identifiers in URI Syntax and representing identifiers within CORDRA documents.
The description of CORDRA identifiers SHALL apply to all identifiers used within the CORDRA system, the CORDRA System instance or implementation of the CORDRA system, or a definition, instance or implementation of Federated CORDRA.
Individual content repositories within a CORDRA instance and a CORDRA instance itself MAY use a different form for specifying identifiers as Handles.
CORDRA identifiers SHALL be valid Handles as defined in RFCs 3650, 3651, 3562. The Handle syntax consists of two parts, a naming authority or prefix and a local name or suffix delimited by the ASCII character "/"
This specification uses the Augmented Backus-Naur Form (ABNF) notation of RFC 2234, including the following core ABNF syntax rules defined by that specification: DIGIT (decimal digits), and HEXDIG (hexadecimal digits).
<handle> = <naming authority> "/" <local name>
The naming authority part of a CORDRA identifier SHALL include one non-empty naming segment component. The naming authority part MAY include multiple non-empty naming segment components after the initial naming segment component. Naming segment components SHALL be separated by the ASCII character ".".
A naming segment component of the naming authority part of a CORDRA identifier SHALL be a string of digit characters "0", "1", "2", "3", "4", "5", "6", "7", "8", "9".
The values of the naming authority segments for a CORDRA identifier and their meanings are defined in the H CORDRA Handle Naming Authorities.
<naming authority> = * ( <naming authority> "." <naming authority segment>
<naming authority segment> = 1* ( DIGIT )
The local name part of a CORDRA identifier SHALL include a path component that SHALL be a 32 character string of hexadecimal characters "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" (e.g., F58FB49EB1F848f0A606E84CEF294BE5).
The path component of the local name part of a CORDRA identifier SHALL be generated using the DCE UUID/GUID [ISO 11578:1996] algorithm operating on any processor that is identified as part of the CORDRA system implementation environment.
The path component of the local name of a CORDRA identifier SHALL be semantically meaningless, i.e., opaque.
The path component of the local name of a CORDRA identifier SHALL be case insensitive in all processing. The path component SHALL be normalized to all uppercase hexadecimal digits prior to processing.
The local name part of a CORDRA identifier MAY include a query component. The syntax of the query component SHALL conform to the syntax of a URI query component. The query component SHALL follow the path component and SHALL begin with the ASCII character "?". The semantics of the query component of the local name part of a CORDRA identifier are not defined in this document.
The local name part of a CORDRA identifier MAY include a fragment component. The syntax of the fragment component SHALL conform to the syntax of a URI query component. The fragment component SHALL follow the query component and SHALL begin with the ASCII character "#". The semantics of the fragment component of the local name part of a CORDRA identifier are not defined in this document.
<localname> = <path> [ "?" <query> ] [ "#" <fragment> ]
<path> = 32 HEXDIG
CORDRA identifiers SHALL be processed as Handles using the Handle protocol defined in RFCs 3650, 3651, 3652.
A CORDRA identifier SHALL be encoded in UTF-8.
| Version | ID | Date | Change Summary |
|---|---|---|---|
| 1.00 | H | 20041018 | Initial release |
| 20050101 | Editorial changes |