Expand description
EN 18219:2026 clause 5 identifier syntax, for the two tiers that check it, and the GS1 AI 10 batch and AI 21 serial a passport’s data carrier prints.
🚨 One home on purpose. These predicates lived only in
dpp_domain::identifier::ProductIdentifier, and the plugin SDK grew its own
copy when the product-group payloads moved to productIdentifier. The copies
disagreed: the SDK accepted https:///p/1 and did:web: because it tested
a prefix and a non-empty remainder, while the domain tested the authority and
the W3C grammar. A plugin is the first thing to see product group data, so
the weaker of the two copies was the one on the outside.
Kept dependency-free and no_std so the Wasm guest SDK can call the same
code the host does, rather than a second reading of the same clause.
Enums§
- DidRejection
- Why a candidate scheme 3 value is not an admissible DID.
- Gs1Value
Rejection - Why a candidate AI 10 or AI 21 value cannot be printed.
Constants§
- DID_
METHODS - The DID methods EN 18219 scheme 3 names.
- MAX_
GS1_ LOT_ CHARS - The most characters a GS1 AI 10 batch or lot number may carry.
- MAX_
GS1_ SERIAL_ CHARS - The most characters a GS1 AI 21 serial number may carry.
Functions§
- check_
did - A DID under one of the methods
DID_METHODSnames. - check_
gs1_ lot - A value GS1 admits in AI 10: one to
MAX_GS1_LOT_CHARScharacters, all in CSET 82. - check_
gs1_ serial - A value GS1 admits in AI 21: one to
MAX_GS1_SERIAL_CHARScharacters, all in CSET 82. - is_
absolute_ web_ url - An absolute
http/httpsURL with a host, as EN 18219 scheme 2 requires. - is_
cset_ 82 - Whether
cbelongs to GS1 CSET 82, the character set of everyX-typed Application Identifier component — AI 10 and AI 21 among them.