Skip to main content

URN identifiers

SIS standard identifiers are stable strings. The public APIs treat them as data, not as database-generated surrogate IDs.

The pattern is inspired by RFC 5141, which defines an ISO URN namespace for standards and related resources. RFC 5141 encodes standards using a namespace-specific string with document type, document number, edition, language, and related resource information. SIS uses the same idea with a SIS-owned namespace and the public metadata available for a standard.

Standard URN

Current SIS standard URNs are built as:

urn:sis:std[:<type>]:<docNumber>:ed-<edition>:<language>

Examples:

urn:sis:std:9001:ed-5:en
urn:sis:std:ts:28946:ed-1:sv
urn:sis:std:tr:42:ed-2:en

Components

ComponentMetadataRule
urn:sis:stdSIS identifier schemeConstant prefix for standards.
<type>Document typeOptional. Technical specification maps to ts, technical report maps to tr. Swedish standards and ordinary standards omit the segment.
<docNumber>Document numberRequired. For example 9001, 28946, or 3155-009.
ed-<edition>EditionRequired.
<language>Content languageRequired. Examples: en, sv.

Child resource URNs

Child resources extend the standard or section URN.

ResourcePatternMeaning
Section{standardUrn}:clause:{sortKey}A clause or section within a standard.
Provision{sectionUrn}:prov:{ordinal}A provision within a section.
Term{standardUrn}:term:{ordinal}A term defined by the standard.
Graphic{sectionUrn}:graphic:{ordinal}A graphic referenced from a section.

Examples:

urn:sis:std:9001:ed-5:en:clause:4.1
urn:sis:std:9001:ed-5:en:clause:4.1:prov:1
urn:sis:std:9001:ed-5:en:term:12
urn:sis:std:9001:ed-5:en:clause:4.1:graphic:1

URL encoding

URNs contain : characters. When a URN is used in a URL path segment, URL-encode it:

urn%3Asis%3Astd%3A9001%3Aed-5%3Aen

Example request:

GET /api/content/v1/standards/urn%3Asis%3Astd%3A9001%3Aed-5%3Aen
Authorization: Bearer <access-token>

Stability contract

The standard URN is the canonical public identity for a standard. Consumers can store it as a stable reference.

If a standard has another edition or language version, it receives its own URN. Use relation fields and metadata to connect related standards instead of changing a stored URN.