OASIS Logo


OASIS Naming Directives

Date: January 02, 2024
Version: 1.7
This version: https://docs.oasis-open.org/specGuidelines/ndr/namingDirectives-v1.7.html
Previous version: https://docs.oasis-open.org/specGuidelines/ndr/namingDirectives-v1.6.html
Latest version: https://docs.oasis-open.org/specGuidelines/ndr/namingDirectives.html


Contents


#introduction

1 Introduction

This document specifies rules for proper naming, identification, and usage of URI references for documents produced by OASIS Technical Committees (TCs) and Open Projects (OPs). The OASIS Technical Committee Process provides the broader framework for these rules. The principal goal is to support usability of OASIS Work Products by following predictable/uniform conventions for naming and linking that respect evolving Internet/Web Architecture best-practice. Please consult with Project Administration if you have any questions.

The rules apply to both TCs and OPs, although "TC" is generally used in this document.


#definitions

2 Definitions

document identifier — an identifier string that corresponds to a stage-specific filename published on a Work Product's prose document cover page document URI, minus the .ext portion of the filename; a document identifier is also used as a visible metadata element in a page footer

OASIS Library — official OASIS repository for most approved TC work, located at the URI https://docs.oasis-open.org

stage — a stage, also called an approval stage, is a track-specific named level of maturity for Work Products

TC document repository — a specific document repository assigned to each TC and required as an upload location for contributions, drafts, and Work Products queued for approval.

Version — (capitalized) a major numbered edition of a Work Product developed through a continuous process of authoring, publication, review, and editorial revision, where the approved publication instances correspond to development stages belonging to one "Version".


#nameCharacters

3 Name Characters for Files and Directories

For any filename or directory/folder name, TCs must use only the sixty-four characters from among alphanumerics [A-Za-z0-9] and the two punctuation characters: "." (PERIOD), and "-" (HYPHEN)" — that is, any upper-case character, lower-case character, Arabic numeral/digit, FULL STOP [decimal 46], and HYPHEN-MINUS [decimal 45].

These name character restrictions must be adhered to for all files/directories associated with approved Work Products and any candidates for TC approval. The rules should be followed in all other contexts where OASIS tools and publication venues support the constraints.

The UNDERSCORE character ("_") may be used in filenames and directory names where an application (unavoidably) generates this character, but in general, use of HYPHEN to mark juncture is preferable; the UNDERSCORE character may be visually confused with SPACE or an underline-effect in some predictable publication contexts. An UNDERSCORE must never be used in a filename or directory name that is used in a document URI — that is, a primary URI reference published as a document cover page URI (i.e. as required for identification of a Work Product as a whole or for identification of a separately-titled prose Part in a Multi-Part Work Product).


#nameConstruction

4 Name Construction Rules for Files and Directories

Name construction rules define how characters may be used to compose names for files and directories, i.e., prescription for the lexical and syntactic structure of names, given the restricted character inventory. Motivations for these constraints include concerns for fidelity of interchange across different file systems, minimizing the risks of common text-processing errors, usability (visual clarity), and other interoperability considerations.

Constraints:

  1. TCs may use mixed case (upper case characters mixed with lower case characters) in filenames and directory names, including camel case. TCs should understand that OASIS web servers will respect case-sensitivity, with no accommodation for case-folding.

  2. Filenames and directory names must not contain the trademarked names of products, companies, or other corporate entities where the mark is not owned by OASIS.

  3. Filenames and directory names must neither begin nor end with a punctuation character (period or hyphen). Similarly, the document identifier portion of a filename must not end with a punctuation character.

  4. Filenames and directory names must not contain multiple (2+) consecutive punctuation characters

  5. A filename identifying a specific published instance (stage) of a Work Product, used in a required cover page URI, must have the following structure unless it is a filename associated with a Multi-Part or Errata Work Product:

    [WP-abbrev]-[version-id]-[stage-abbrev][revisionNumber].[ext]

    Example: emix-v1.0-csd01.doc

    Where:

  6. A single file(name) extension must be used in each filename except for a recognized set of extensionless filenames in common use. File extensions should conform to industry best practice — matching well-known IANA MIME Media Types.

  7. A directory must not contain two or more names (filenames or directory names) that differ ONLY in case. For example, a directory must not contain two directories FOO and Foo, nor two files with filenames BAR.txt and bar.txt.

  8. Except as approved by Project Administration, filenames having special meaning for operating systems or for OASIS server software must not be used in any Work Product. For example, the following are forbidden: index.html, index.htm, *.cgi, and .htaccess.

  9. The filename for a distinct separately-titled prose part of a Multi-Part Work Product must (typically) have the following structure unless otherwise approved by Project Administration; this pattern simply adds the tokens [partNumber]-[partName] preceding the file extension.

    [WP-abbrev]-[version-id]-[stage-abbrev][revisionNumber]-[partNumber]-[partName].[ext]

    Example:  saml-v2.1-csd01-part1-overview.html

    Where:

Applicability:

The name construction rules enumerated above for filenames and directory names must be followed for files/directories associated with all Work Products. They should be followed in all other contexts where OASIS tools and publication venues support these constraints in principled ways consistent with the publication goals.

Whereas filenames and paths/URIs used in identification of Work Products as a whole or (Multi-Part) named parts have prescribed construction patterns, most other Work Product filenames and directory names are unconstrained other than for name character conformance. Thus, filenames for images and machine-readable computer language definitions (e.g.,DTDs, schemas, WSDLs, XML/JSON artifacts...) are generally subject to no special rules. On the other hand, filenames should be constructed in such manner that they are optimally suited for the Work Product revision process — as a specification progresses through successive stages of review and approval. In particular, it is considered inadvisable to incorporate instance-specific [stage][revision] data for any release in filenames other than in the document identifier files, as required; thus mySchema.xsd but NOT mySchema-csd02.xsd. Rather: TCs are advised to use named subdirectories for storing images, schemas, WSDLs, codelists, XML instances, and similar artifacts, retaining stable/identical filenames in each successive release.

The name construction rules enumerated above cover most publication genres for Standards Track Work Products and for many 'Notes' in the Non-Standards Track. The construction rules are slightly different for independently titled (prose) parts in a Multi-Part Work Product, for the Errata drafts and final format versions, and for some presentation (slideset, white paper) formats. Please consult with Project Administration for additional guidance on proposed identifiers for Multi-Part Work Product parts, for Errata, and for presentation-ware. The Errata process, for example, has its own set of revisions and approvals in a progression, with required directories /errata01/ (perhaps: /errata02/ and /errata03/) and instance variants for the required "list-of-corrections" format and optional "complete-incorporating-errata" format guidelines in draft. The filename construction rules typically applicable to a "part" in a Multi-Part Work Product with separately-titled parts are presented above.


#versioning

5. Identifiers for Version, Stage, and Revision

Filenames and directory names must be used with other naming components to create prescribed URI references (e.g., hyperlinks) for documents and document portions. This section explains the required use of identifiers for Version, stage, and revision which are relevant to creation of URI references for resources within a directory hierarchy.

#Version

5.1 Version

Formally, a Version of a Work Product is a numeric identifier associated with a focused technical activity that proceeds on the Standards Track or Non-Standards Track through a number of development stages, often leading to the creation of an OASIS Standards Final Deliverable.

A Version in this formal sense must be represented textually by a numeric string composed of digits [0-9] and period (".") corresponding to any of the approved lexical models (#.#, e.g. 1.0; #.##, e.g. 1.01; #.#.#, e.g. 1.2.1; ##.#, e.g. 10.1). Use of any other pattern for a Version identifier must be negotiated with the Project Administration.

A Version identifier must be used as a discrete path element in document URIs, and must also be used in a document's principal URI filenames (i.e., stage-specific filenames in required URIs used on a cover page). A Version identifier must also be incorporated into a Work Product name/title, where a title should be composed from a suitable name/identifier followed immediately (without punctuation) by the word "Version" and the Version number, e.g., OpenDocument Version 1.2.

Informally, OASIS policy documents sometime use the word "version" (lower case) in casual reference to a variant of any kind, in common speech: a variant file format ("the HTML version"), any natural successor or predecessor ("the latest version", "the previous version"), any comparative representation ("the diff-marked version") or any package type ("the compressed ZIP version"), etc. In this document, "Version" (upper case) always refers to the major Version in its formal sense, while "version" (lower case) represents generic usage of the word.

#stage

5.2 Stage

Each published instance (or, package "release") of a Work Product is identified by a name for the stage in combination with a revision number. In the grammar rules for the construction of machine-readable filenames and URIs, a release is thus identified using a string matching "[stage-abbrev][revisionNumber]", where "stage-abbrev" is one of the following, in lower case: csd, cs, os, errata, cnd, cn. Note: The os stage abbreviation is never used with a revision number.

In human-readable prose, the equivalent textual representation is expressed by a full stage name or stage abbreviation and a revision number. For example: "Committee Specification Draft 02", corresponds to csd02 in filenames and directory names (paths/URIs). The list of full stage names and abbreviation for each stage, within track, are presented below as they appear in human-readable prose context. A stage abbreviation (with a revision number) must be used in lower case as a discrete path component for document identifier, document URI, and in principal document filenames.

For each stage (i.e., discrete publication event of an instance), a resource is assigned a stage-specific filename which encodes both the stage abbreviation and the revision number. Example: stage abbreviation 'csd' in the filename xrd-v1.0-csd01.html, concatenated with the revision number '01', such that 'csd01' matches [stage-abbrev][revisionNumber]. A stage-specific filename is used within the URI for "This stage", but not in the "Latest stage" URI, as described below. The document identifier for any release corresponds to the stage-specific filename minus the filename extension (.ext).

Note: When a TC resolves via Work Product Ballot(s) to initiate a Public Review of a CSD or CND, Project Administration will publish an additional "public review metadata" file in the directory with the CSD or CND. This HTML file provides a publication history of the Work Product, and serves to document the occurrence of the public review. The "public review metadata" filename follows the pattern:

[WP-abbrev]-[version-id]-[stage-abbrev][revisionNumber]-public-review-metadata.html

Example: security-playbooks-v2.0-csd05-public-review-metadata.html

When the TC produces the required comment resolution log following the public review, it will also be published in the directory with the CSD or CND. The "comment resolution log" filename follows the pattern:

[WP-abbrev]-[version-id]-[stage-abbrev][revisionNumber]-comment-resolution-log.[ext]

Example: security-playbooks-v2.0-csd05-comment-resolution-log.txt

#revision

5.3 Revision

The process of document revision as a technical activity takes place when an approved Work Product is edited and is assigned a new revision number. Textually, a revision is a two-digit number associated with a specific stage corresponding to a published instance. A revision number begins with "01" and is incremented by 1 for each release at each maturity level (stage).

A revision number is a required component within stage-specific filenames used on a document cover page.

The OASIS Standard (OS) stage does not use a revision number, since any change to an OS is handled as Errata.

Note: Where some OASIS policies use the terms revision and version in a general/equivalent sense, this document uses revision as meaning the two-digit revision number that occurs with a stage (name) to identify any distinct release (e.g., csd02, cs01). Where the TC Process refers to a "single version number" in connection with uniform identification of "files" or multiple "constituent parts" in Multi-Part Work Product, this document implements the identification requirement in terms of the (single) release identifier [stage-abbrev][revisionNumber].


#URIs-Resources

6 Rules for URIs and Resources

This section sets out rules for construction of path elements in document URIs (prescribed naming patterns within URIs as strings), rules for persistence of URIs, for permanence of published OASIS resources, and appropriate selection of URI references for various usage contexts. TC editors need to understand these rules and the required use of identifier components in order to design a hierarchy of directories that will be used in successive stages through the progress of Work Product development and publication.

#paths

6.1 Path Components in Document URIs

URIs serving as primary identifiers (Document URIs) for Work Products installed in the OASIS Library must conform to this pattern unless they are URI references associated with a Multi-Part or Approved Errata Work Product:

https://docs.oasis-open.org/[tc-shortname]/[WP-abbrev]/[version-id]/[stage-abbrev][revisionNumber]/[doc-id].[ext]

Example: https://docs.oasis-open.org/emergency/cap/v1.2/cs01/CAP-v1.2-cs01.html

Where:

TCs may also design path components relative to a particular stage where additional directories are created below /[stage-abbrev][revisionNumber]/ viz., at the same hierarchical level as the principal document URIs ([doc-id].[ext]). For example:

https://docs.oasis-open.org/[tc-shortname]/[WP-abbrev]/[version-id]/[stage-abbrev][revisionNumber]/schemas/.
https://docs.oasis-open.org/[tc-shortname]/[WP-abbrev]/[version-id]/[stage-abbrev][revisionNumber]/examples/.

For content published in the OASIS Library, TCs may create URI references using the path segments "." and ".." ("dot-segments") for relative reference within a path name hierarchy. However, TC Members must take responsibility for constructing such paths in a way that all relative references resolve correctly according to rule: unlike in a file system, dot-segments are only interpreted within the URI path hierarchy and are removed as part of the resolution process.

Applicability: The construction rules for paths enumerated above cover most publication genres for Standards Track Work Products and for many 'Notes' in the Non-Standards Track. The construction rules are slightly different for independently titled (prose) parts in a Multi-Part Work Product, for the Approved Errata drafts and final format versions, and for some presentation (slideset, white paper) formats.

Please consult with Project Administration for additional guidance on proposed identifiers for Multi-Part Work Product parts, for Approved Errata, and for presentation-ware.

#URIs-MP

Multi-Part Work Products: Option 1

URIs serving as primary identifiers for distinct separately-titled prose parts in a Multi-Part Work Product must (typically) have the following structure unless otherwise approved by Project Administration; this pattern simply adds one path component preceding the filename using [partNumber]-[partName], as in the case of the filename itself:

https://docs.oasis-open.org/[tc-shortname]/[WP-abbrev]/[version-id]/[stage-abbrev][revisionNumber]/[partNumber]-[partName]/[doc-id].[ext]

Example: https://docs.oasis-open.org/cti/stix/v1.2.1/csd01/part1-overview/stix-v1.2.1-csd01-part1-overview.html

Where:

Multi-Part Work Products: Option 2

The OSLC Open Project pioneered the use of an alternative multi-part URI scheme, in which the separate Part directories are not used, and the file names of the individual Parts do not contain Version and stage components, so that they remain invariant across stages. Note the three different Part names within the same /os/ directory in this example:
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/os/promcode-spec.html
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/os/promcode-shapes.html
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/os/promcode-vocab.html

This structure is simpler than the one described in Option 1 above. It is particularly well suited to Work Products which expect to use cross-references between the separate Parts.

Please consult with Project Administration for additional guidance on proposed identifiers for Multi-Part Work Products.

#specURIs

6.2 Required Document URIs

Following a convention commonly used in other standards organizations, OASIS requires that Work Products present three general kinds of URIs as display metadata, illustrated below: This stage, Previous stage (when applicable), and Latest stage. A TC may optionally use the term "version" instead of "stage", although this is discouraged due to the obvious confilct with the required component "Version."

Document Cover Page URIs (Hypothetical Example)

This stage:
      
https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd03/ourSpec-v2.0-csd03.html
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd03/ourSpec-v2.0-csd03.pdf
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd03/ourSpec-v2.0-csd03.docx

Previous stage:
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd02/ourSpec-v2.0-csd02.html
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd02/ourSpec-v2.0-csd02.pdf
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/csd02/ourSpec-v2.0-csd02.docx

Latest stage:
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/ourSpec-v2.0.html
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/ourSpec-v2.0.pdf
      https://docs.oasis-open.org/exampleTC/ourSpec/v2.0/ourSpec-v2.0.docx

#resourcePermanence

6.3 Resource Permanence

As part of the OASIS institutional commitment to transparency, openness, accountability, and public auditability, resources published in the OASIS Library, TC Document Repository, and other venues must not be deleted or otherwise altered. Resources may be revised, but all revisions are retained. With the exception of resources identified by "latest stage" URI aliases, content instantiated as regular files and directories must not be over-written, replaced, renamed, or removed. TC Members are expected to follow this rule even in cases where a collaboration tool (by some means) might allow resource deletion or silent alteration.

#URI-persistence

6.4 URI Persistence

Corollary to Resource Permanence, URIs for published OASIS resources must be persistent. All resources and the Uniform Resource Identifiers (URIs) which establish mappings from identifiers to resources are permanent. This rule also applies to any secondary resource identified by a fragment identifier. Assignment of URIs to resources is thus considered to be inviolate other than for URI aliases intentionally and recognizably associated with variable content. For all other URIs, no action which severs the relationship between a URI and the resource may be undertaken.

#URI-aliases

6.5 URI Aliases

TCs must not use URI aliasing by any means, including, for example, unauthorized: (a) use of META-refresh elements, (b) preparing files with identical content under two different filenames within a given published instance, or (c) constructing URIs for canonical OASIS resources by using redirects supported by services on other Internet domains (e.g., http://tinyurl.com/, http://purl.oclc.org/, http://bit.ly/).

#appropriateURIs

6.6 Using Appropriate URI References

This subsection explains how to select appropriate URI references for documents so that all users will be able to access the resources online and will be directed to the appropriate representation for a published instance of a work.

#useCases URI references for different use cases

TC editors and others should select the best URI reference suitable to the readers' needs — recognizing that all email messages and JIRA/SVN/Wiki text will have multiple audiences:

#accessibleURIs Publicly Accessible URIs

In support of the OASIS TC Process rules for transparent public access/visibility of all TC resources, TC Members must be careful to select an appropriate form of a URI reference to ensure that a cited resource is publicly accessible from that URI reference. The OASIS member-only (private, password-protected) URI references created by OASIS [Kavi] tools must not be cited in TC mailing list messages, Wiki pages, TC public web pages, JIRA tickets, specifications, meeting minutes, or in any TC "documents" that are or may become public.

In some cases, the mechanical transform from a member-only (private) URI to the correct public URI can be made by replacing the substring 'apps/org/workgroup/{tc-shortname}/' with 'committees'. Alternately, TC members may select the public-access URIs using select/copy+paste of relevant URI references from the public-access indexes as presented on the TC public home page, "Related links" display (Documents, Email Archives, Comments Archive, Ballots, Schedule). For Group ballots (specific ballots and ballot listings), publishing both the member-only and public-access ballot URI is best, since they are useful for different purposes. Here are URI examples for documents, email messages, ballots, and calendar entries, together with document/email archive URIs for the TC public-access indexes:

Document

Email message

TC ballot listing

TC individual ballot

TC calendar entry


#WorkProduct-Title #WorkProduct-Name

7 Work Product Title/Name and Acronym

This section provides guidance on creating human-readable names for Work Products, including variations needed for the name/title of separately-titled prose "parts" in a Multi-Part Work Product. The variations for title construction are parallel to naming variations in Multi-Part works for filenames and paths/URIs. The rules below must be observed for all Standards Track Work Products and should be followed for Non-Standards Track Work Products unless there are reasonable grounds for alternate constructions (e.g., marketing material, presentation-ware). Please consult with Project Administration about any proposed deviation from the prescribed naming patterns.

Terminology: A Work Product title is the primary natural-language identifier that is printed immediately below the OASIS logo on the cover page of a Work Product's prose documents (in HTML, PDF, and editable source formats); it is also presented in the "Citation format:" block of a cover page. The title is also sometimes called a Work Product name (e.g., "a single Work Product name"; "the name of the [...] Deliverable"; "the current name"). An acronym as a human-readable shorthand identifier may be embedded within a title, and may bear some similarity to the machine-readable "[WP-Abbrev]" (Work Product abbreviation). The "WP-Abbrev" element is used only in the construction of filenames and (full) URIs, and need not be string-identical to a Work Product acronym.

Construction: The construction rules for title vary depending upon whether the work has: (a) one single prose document or (b) multiple prose documents, viz., a Multi-Part Work Product with separately-titled prose parts. In the second case "(b)", a distinct identifier for each prose part is appended to the initial title portion which meets the TC Process requirement for a "single" (principal) Work Product title/name. The required patterns are expressed below by example, and include the exact/literal punctuation characters (SPACE, PERIOD, COLON) in the required positions.

  1. Title for a single prose document
  2. Title for a separately-titled prose part [normalized]

Additional rules/guidance for title and acronym:


#xml-namespaces

8 XML Namespace Identifiers and Namespace Documents

OASIS Work Products which formally declare one or more XML namespaces [viz., namespace bindings] must adhere to the terms of the applicable W3C Recommendations (e.g., Namespaces in XML 1.0, Extensible Markup Language (XML) 1.0, XML Schema) and several OASIS rules for construction of URI references and for use of namespace documents where applicable. XML namespace names are allocated and managed by individual OASIS TCs, based upon the abbreviated TC name (tc-shortname), as specified below. Each TC manages a collection of XML namespace names by ensuring that there are no name collisions and by making it clear which particular Work Product "owns" each TC-defined namespace name for the purpose of versioning and other maintenance (e.g., namespace document updates).

Formal declarations of XML namespaces are made using a family of reserved attributes (e.g., xmlns attributes such as PrefixedAttName xmlns:[prefix], DefaultAttName xmlns, and targetNamespace) in XML instances and schemas.


#notes

9 Notes

This reference section is intended to provide details (exceptional cases, etc). For definitions that may provide useful clarification, see Definitions.

#extensionlessFilenames

#note-informationResource

#memberOnlyURIs

#scopeApplicability

#tc-document-repository

#tracks


#revisionHistory

10 Revision History

This document is revised from time to time in order to supply additional examples, correct typos, and improve clarity; such revisions do not motivate the creation of a new numbered version. Any substantive change that alters a rule is always noted in this section, and every attempt will be made to honor (= grandfather) naming decisions made by TCs that conform to rules so revised: there is no intent to disrupt ongoing TC technical work or to make revised rules applicable retrospectively to work in progress.


Feedback: Please send questions or comments on this document to Chet Ensign at chet.ensign@oasis-open.org; all email communications will be acknowledged, and will be evaluated by the OASIS Project Administration Team.