Purpose
This gem implements a mechanism to parse and utilize ISO publication identifiers.
Use cases to support
-
generate the corresponding URN format (according to RFC 5141)
-
generate updated PubID
-
generate language specific PubID
-
generate dated vs undated PubIDs
Usage
require "pubid-iso"
pubid = Pubid::Iso::Identifier.new(publisher: "ISO", number: 123)
pubid.to_s
=> "ISO 1234"
Available attributes:
number, publisher, copublisher, part, type, year, edition, language, amendments,
corrigendums, stage, substage, iteration, supplements, amendment_stage, corrigendum_stage,
joint_document, tctype, sctype, wgtype, tcnumber, scnumber, wgnumber, urn_stage,
dir, dirtype, supplement
Elements of the PubID
Document identifier
General
The ISO document identifier is assembled out of these metadata elements:
- publisher
-
publisher of the document
- document stage
-
stage of development of document, according to the Harmonized Stage Codes
- document number
-
numeric identifier of document
- update number
-
serial number of update (for amendments and technical corrigenda)
- document type
-
type of ISO deliverable
- copyright year
-
year of publication of document
- language
-
language of document
Publisher
This is the abbreviation of the publishing organization, typically ISO.
If the document is published under co-publishing agreements, it can contain the
abbreviations of other publishing SDOs, delimited by / after ISO.
An International Workshop Agreement document has publisher abbreviation of
IWA.
ISO, ISO/IEC, ISO/IEC/IEEE, ISO/IEEE, ISO/SAE, IWA
Document type and stage
ISO document stages in document identifiers are mapped as follows.
- International Standard
-
00.00to00.99-
“PWI”
10.00to10.98-
“NP”
10.99to20.00-
“AWI”
20.20to20.99-
“WD”
30.00to30.99-
“CD”
40.00to40.99-
“DIS”
50.00to50.99-
“FDIS”
60.00-
“PRF”
60.60-
empty designation
- Technical Specification, Technical Report
-
00.00to00.99-
“PWI TR,TS”
10.00to10.98-
“NP TR,TS”
10.98to20.00-
“AWI TR,TS”
20.20to20.99-
“WD TR,TS”
30.00to30.99-
“CD TR,TS”
40.00to40.99-
TS/TRs do not have DIS stage because they are not international standards.
50.00to50.99-
TS/TRs do not have FDIS stage because they are not international standards.
60.00-
“PRF TR,TS”
60.60-
“TR,TS”
- Amendment
-
00.00to00.99-
“base-document-id/PWI Amd num”
10.00to10.98-
“base-document-id/NP Amd num”
10.99to20.00-
“base-document-id/AWI Amd num”
20.20to20.99-
“base-document-id/WD Amd num”
30.00to30.99-
“base-document-id/CD Amd num”
40.00to40.99-
“base-document-id/DAmd num”
50.00to50.99-
“base-document-id/FDAmd num”
60.00-
“base-document-id/PRF Amd num”
60.60-
“base-document-id/Amd num”
- Technical Corrigendum
-
00.00to00.99-
“base-document-id/PWI Cor num”
10.00to10.98-
“base-document-id/NP Cor num”
10.99to20.00-
“base-document-id/AWI Cor num”
20.20to20.99-
“base-document-id/WD Cor num”
30.00to30.99-
“base-document-id/CD Cor num”
40.00to40.99-
“base-document-id/DIS Cor num”
50.00to50.99-
“base-document-id/FDCor num”
60.00-
“base-document-id/PRF Cor num”
60.60-
“base-document-id/Cor num”
When the Publisher element contains a “slash” (“/”), the separation in front of the document stage will be converted into an empty space.
ISO/NP 33333 but ISO/IEC NP 33333.
ISO/NP TR 33333 but ISO/IEC NP TR 33333.
According to ISO Directives Part 1 (11ed), SE.2:
Working drafts (WD), committee drafts (CD), draft International Standards (DIS), final draft International Standards (FDIS) and International Standards`", "`Successive DIS on the same subject will carry the same number but will be distinguished by a numerical suffix (.2, .3, etc.).
The stage iteration number is assigned accordingly for all stages, which is patterned as:
-
{document stage}(no suffix if iteration is 1); or -
{document stage}.{iteration number}(suffix including iteration number after 1).
Once the document is published (stage 60 substage 60), no status abbreviation is given.
Full PubID patterns
The patterns are as follows:
- International Standard
-
{publisher} (/{document type and stage})? ({document number}) (- {part number})? (: {copyright year}) ({ISO 639 language code})?ISO/IEEE/FDIS 33333-2,ISO/IEEE 33333-2:2030(E) - Technical Report, Technical Specification
-
{publisher} (/{document type and stage}) ({document number}) (- {part number})? (: {copyright year}) ({ISO 639 language code})?ISO/IEC/FDIS TS 33333-2,ISO/TR 33333-2:2030(E),ISO/IEC TR 33333-2:2030(E) - Amendments, Technical Corrigendum
-
{source document ID}/{document type and stage} {update number} (: {copyright year}) ({ISO 639 language code})?ISO 33333-2:2030/DIS Cor 2:2031,ISO 33333-2:2030/Cor 2:2032,ISO/IEC 33333-2:2030/Cor 2:2032