[urn] Re: GS1 URN: submission
worley@ariadne.com Wed, 10 June 2026 03:26 UTC
Return-Path: <dale.worley@comcast.net>
X-Original-To: urn@mail2.ietf.org
Delivered-To: urn@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 35EA3FE6FDC9 for <urn@mail2.ietf.org>; Tue, 9 Jun 2026 20:26:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1781061982; bh=HHk4VczE4gHA4vmJNEFz4e1qYcGA+y7OlpUn9gBX3qc=; h=From:To:Cc:Subject:In-Reply-To:Date; b=Fsyf45RllHZc++oPA8S2RCvJgzbwfsSRf/LMuG4iqt0KFjG0phCti7SVIgECr7USi RIJVrnWgrZZPlypMdwbCUQjRAa0ojSZO7PB3tslUb41BdvzxpwmKLe7TZpps2lRqkl sggVvheJ9aDzNMK6OP1FzrZn8Z7BS75BWaDDiRkk=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -0.897
X-Spam-Level:
X-Spam-Status: No, score=-0.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RAND_HEADER_MANY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=comcastmailservice.net
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FsgUW0Ivj7Hb for <urn@mail2.ietf.org>; Tue, 9 Jun 2026 20:26:19 -0700 (PDT)
Received: from resqmta-h2p-567061.sys.comcast.net (resqmta-h2p-567061.sys.comcast.net [IPv6:2001:558:fd02:2446::6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 639ACFE6FDBC for <urn@ietf.org>; Tue, 9 Jun 2026 20:26:18 -0700 (PDT)
Received: from resomta-h2p-554993.sys.comcast.net ([96.102.179.194]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 256/256 bits) (Client did not present a certificate) by resqmta-h2p-567061.sys.comcast.net with ESMTPS id X9LZwdhD2SxHEX9a6wfDd3; Wed, 10 Jun 2026 03:26:18 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcastmailservice.net; s=20211018a; t=1781061978; bh=IdYIpfwpYfD3PhjogKYJYmImjwCfmO7Oc6omeNx/Nh0=; h=Received:Received:Received:Received:From:To:Subject:Date: Message-ID:Xfinity-Spam-Result; b=S1AFJQTkJKRgWdHyUWM8MUFKCFNcA+r7PGHD9mFHpGujbvI5rHrVTWj0R+BPGtBGh 8qei7CYg8pLrBv+6P6AI00WugtysW/GN/eE6x/hJcfQj7KZsnDB1UQJVsnuPM65IQj r6YiPkKc79nf+5t+znZGklyANHh+whkD1PVQfYfhemDLgvqsNX2hlJ4NsEVNx65F2p vH5IT+aILR+KTmMrCUD5RKY0tY2DSwLQ3Er23fB5b0uDs93P6ZFjLe3p04YXN2dAYL uRfH0N53DRR6LUlLwZxmF/yCzzYYzhaktQmTjC8rUnQH8YkQJ7YYbwbJujDbymN5/7 Lc7OqhZhyK/Nw==
Received: from hobgoblin.ariadne.com ([76.118.106.138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 256/256 bits) (Client did not present a certificate) by resomta-h2p-554993.sys.comcast.net with ESMTPSA id X9a2wH0hz56D2X9a3wqeoY; Wed, 10 Jun 2026 03:26:17 +0000
Xfinity-QID: X9a2wH0hz56D2X9a6wqeoe
Xfinity-Graffiti: 43901200016
Xfinity-Graffiti: 11309350070
Received: from hobgoblin.ariadne.com (localhost [127.0.0.1]) by hobgoblin.ariadne.com (8.16.1/8.16.1) with ESMTPS id 65A3QDBL3194583 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 9 Jun 2026 23:26:14 -0400
Received: (from worley@localhost) by hobgoblin.ariadne.com (8.16.1/8.16.1/Submit) id 65A3QDOn3194580; Tue, 9 Jun 2026 23:26:13 -0400
X-Authentication-Warning: hobgoblin.ariadne.com: worley set sender to Dale.Worley@comcast.net using -f
From: worley@ariadne.com
To: Chris Day <chris.day=40gs1.org@dmarc.ietf.org>
In-Reply-To: <CO1PR08MB70458FC2D9AEF117FE4ADE84BA1C2@CO1PR08MB7045.namprd08.prod.outlook.com> (chris.day=40gs1.org@dmarc.ietf.org)
Sender: worley@ariadne.com
Date: Tue, 09 Jun 2026 23:26:13 -0400
Message-ID: <878q8nt6sq.fsf@hobgoblin.ariadne.com>
X-CMAE-Envelope: MS4xfAeZj7iFmRzQ+3HLaDe4AcuIHWi1gWmUQArTB1iNPEvZ4PVxi/UOVWqDBeAHvZ3fiyevisWqpxdcOBOmTmoOJhJaIhW7evushDVvtGat7sIdhJgeLubC C1jSUkGJWRsFzuhLyyH0ZeaZEWI0JuNVxhpdVsRYmePtn9IyN+nwNAHgu2aPjNt2SeFcaoXfm7C1p6Nlw6BWCgOt17lpH4R4nQyFI85TW7zGidj8cP+G3SeY AMKx0ZRvDYcGdjB4ygayetB3j4xpIbDcQi4K0npLGeI5m8OtnYismyWf6mwEgFTM++G0nwUI4Qabf/sFZUioueoiZUmkjXw9DpfGmAkDrV8=
Message-ID-Hash: QUNDQUBPOTVEJF3DDDQ4F7VMLDOG7RVI
X-Message-ID-Hash: QUNDQUBPOTVEJF3DDDQ4F7VMLDOG7RVI
X-MailFrom: dale.worley@comcast.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-urn.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: urn@ietf.org, phil.archer@gs1.org, mark.harrison@gs1.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [urn] Re: GS1 URN: submission
List-Id: "Discussion about Uniform Resource Names (URNs)." <urn.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/urn/LiOp_Aj1McFx2exowb2RhdMdSZM>
List-Archive: <https://mailarchive.ietf.org/arch/browse/urn>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Owner: <mailto:urn-owner@ietf.org>
List-Post: <mailto:urn@ietf.org>
List-Subscribe: <mailto:urn-join@ietf.org>
List-Unsubscribe: <mailto:urn-leave@ietf.org>
Here are my first-pass comments on the gs1-urn-rfc-v5.6.0.txt:
The Registrant and Contact do not include a phone number or an e-mail
address or even a role name in the postal address.
Process of identifier resolution:
Resolution is optional. URN validity is independent of the existence
of any resolver service. Resolver services provide a convenience
mechanism for obtaining representations associated with a URN.
GS1-authorised resolvers may provide authoritative representations.
Example:
https://resolver.gs1.org/resolve/[urn]
where [urn] is the percent-encoded form of the URN.
It's not clear from the text whether these URLs are supported or not.
Since it's labeled "Example", that doesn't matter officially, but it
probably would help the reader to state whether or not this URL does
anything. Appendix E seems to describe a resolver service. ISTM that
if you intend a resolver service and have a definition for it now, you
should clearly specify it, and if you do not, you shouldn't mention it.
Also, the URL template shows the URN embedded as part of the path of a
URL. Since every character allowed in a URN is allowed
"un-percent-encoded" in the path of a URL (see RFCs 8141 and 3986), the
phrase "where [urn] is the percent-encoded form of the URN." is not
needed.
In regard to the relationship between namespaces EPC and GS1: You
expect there to be some semantic correspondence between the namespaces
but there is no official lexical equivalence between them. The latter
should be made extremely clear, as otherwise people will mistake it.
There are three places where this relationship matters;
Rules for lexical equivalence:
This ought to mention that no GS1 URN is lexically equivalent to any EPC
URN.
3.1. Relationship to RFC 5134
...
Implementations MAY support mappings between EPC URNs and GS1 URNs
where such mappings are defined by GS1 standards or implementation
guidance.
...
The existence of such mappings does not imply equivalence between the
namespaces. Each namespace retains its own syntax, governance model,
and resolution semantics.
Amplify "does not imply equivalence" to "does not imply lexical
equivalence".
Appendix G. EPC <-> GS1 Mapping
This appendix is informative and is provided to illustrate
interoperability between the namespaces described in Section 3.1. The
mappings shown herein do not establish semantic equivalence between
the EPC and GS1 namespaces and do not alter the independent governance
or syntax rules applicable to either namespace.
Again, I would amplify "do not establish semantic equivalence" to "do
not establish semantic or lexical equivalence".
4. Security Considerations
GS1 URNs are opaque identifiers. Security considerations are
therefore limited to those common to URNs in general and to the
resolver infrastructure used around them.
GS1 URNs aren't opaque, as they have a lot of internal structure which
is intended to be parseable. But they are identifiers of things that
cannot be *acted upon* via the URN, so there are no namespace-specific
security considerations.
Appendix A. ABNF Grammar
urn = %s"urn"
gs1 = %s"gs1"
"%s" has crept into the grammar in a number of places.
std-branch = %s"std" ":" std-id [ ":" version ]
[ ":" clause ]
version = 1*( DIGIT / "." )
clause = 1*DIGIT *( "." 1*DIGIT )
This is ambiguous, as <version> and <clause> both contain 1*DIGIT. E.g.
in
urn:gs1:std:abcd:1234
"1234" could be either <version> or <clause>. Unless you make it that
no string could be either a <version> or <clause>, you can't make both
of them independently optional.
Appendix A.1. Informative Constraints
...
AI 01 - GTIN
* numeric only
* exactly 14 digits
* leading zeroes preserved where required for GTIN-14
canonical form
Given that the entry states that the value is exactly 14 digits, clearly
leading zeros are required whenever the nonzero digits do not amount to
14 digits.
The table "Illustrative constraints" is not very clear. I think it
means that it is a table of defined <ai> values and their corresponding
<value>s but it doesn't say that. Indeed, it's just a guess that "01",
"00", "402", etc. are actually intended as <ai> values.
Very similar (and somewhat clearer) information is presented in Appendix
F, but again it doesn't state explicitly what the entries mean. ISTM
that these should be made clearer and if possible combined.
Dale
- [urn] GS1 URN: submission Chris Day
- [urn] FW: GS1 URN: submission Chris Day
- [urn] Re: GS1 URN: submission Peter Saint-Andre
- [urn] Re: GS1 URN: submission Chris Day
- [urn] Re: GS1 URN: submission Tom Roberts
- [urn] Re: GS1 URN: submission Peter Saint-Andre
- [urn] Re: GS1 URN: submission Chris Day
- [urn] Re: GS1 URN: submission worley
- [urn] Re: GS1 URN: submission Chris Day
- [urn] Re: GS1 URN: submission, version 6.0.0 worley
- [urn] Re: GS1 URN: submission, version 6.0.0 Chris Day
- [urn] Re: GS1 URN: submission, version 6.0.0 worley
- [urn] Re: GS1 URN: submission, version 6.0.0 Peter Saint-Andre