[regext] Re: [IANA #1410981] expert review for draft-ietf-regext-epp-eai (xml-registry)

"Gould, James" <jgould@verisign.com> Tue, 21 January 2025 13:07 UTC

Return-Path: <jgould@verisign.com>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 86721C1DC7F2 for <regext@ietfa.amsl.com>; Tue, 21 Jan 2025 05:07:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4pLYOENjaL-7 for <regext@ietfa.amsl.com>; Tue, 21 Jan 2025 05:07:42 -0800 (PST)
Received: from mail1.verisign.com (mail1.verisign.com [72.13.63.30]) by ietfa.amsl.com (Postfix) with ESMTP id 9FA47C1D8D67 for <regext@ietf.org>; Tue, 21 Jan 2025 05:07:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=70568; q=dns/txt; s=VRSN; t=1737464861; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=Xf/7TusZYHG06PITmdUOpxujrTVI8wLSku1zlhDqd7s=; b=Y3av+guYkDf0OhRtZy85gNz/qFGinCLxVIv8IDWlYucBPPLR7M4taK3i 7UyTdWOZMH5D5Z3++38lkb2rtyvP0x0+oHBme46Rug/WzSAo3lciVoP8T aqdiyjUcHpwOgno1y5PzdWJkSMONPVj8fVHpoqHPePQ5MejYe/foplkSO EhpBNPZ4rYkf6s1FimzttC2/ZXGeqlNVzL78WQlP0Lm3WHPweQZzuaFNF PrrUeDn2OUYA16kOU7Ijg1Yo++Wt1RE//LHk3S9qpYTGjk+E4/QQockAT oWXYlp4DtLr2c8xzSm/W19u3QjnkwnLvJ/HkhqHHP8+innnbI5NqOLHMo Q==;
X-CSE-ConnectionGUID: BDDQzUx/RNu5G8ei0OqlrQ==
X-CSE-MsgGUID: OhLXlR0sRrukLQzwpWuBlg==
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:v9p+p6LhghFv/RgoFE+RfJQlxSXFcZb7ZxGr2PjLsTEN7Y4Qp2xan zVKWWmHJL/UNVJBSKkgOorjp0wC6pLTx9diHgo/rHthE3lB9ZabXIuTI02sYSjLJZOSHR9qs 85FYInJcZxtRCGCqEzwb7a/pyJ3jf6FLlaQ5I8oHwgoLeMzYHt40EwLd5cFv7NVbfiF7yKlt 9j+/5zVZg/4hmYuY29PtamP+Uw25qSj4m8VtABjbqkX5Q+PnHQrV59OfqvZw1kU4GV3NrXjG 7ucluHREkfxpUpF5gaNy+6jGqEyaueMe1DI0jwOBvTKbiFq/kQayrw8OOcXdXBZgjCIm8EZ4 NhWvPRccy9wVkH3sLpbCkIw/x1WZ/UcpeeeeyHn66R/8mWdG5fS66Q2ZK0JFdBAkgpHKTkm3 eAVLjkLcieCi4qeqJqnSvNhj9gUN8LiOoUSoBlIlVk12t5/HPgv642TjTNp9G9YavJmRJ4yV OJAAdZbVyksVjUUUrshIMlnwLr33CmXnwpw8zp5rYJvi4Ta5FIpjOi1aLI5cPTSLSleth7wS m4rYw0Vq/zVXTCS4WPtz56iugPAtQnXdLsAKa3/zNh33XLDy21LLwQST2Lu9JFVimbmMz5eA 2Yu3HMRi4UCrBbtUNL6RQX+qXLCoAQHXZxbFOhSBAOlk/KSulnCQDFZFXgdObTKt+dvLdAu/ l2GmM7tCRRxvaeUUnOS8PGfqjba1S09cTZcO3NdE1BtD9/Lh4EXvhb1Fs1ZCrO2quTnBinP3 hqOo31r71kUpYtRv0mhxnjbiSilt7DVQx4p+wzTX360qAh+YeaNYpCA7V/E4PBcNoGBXx+Hs WRss9KT4+0eEbmMmTCDBuIXE9mB6+yMPiHHxFN/B5Q763G39mCicJ8V6zZ7IUpvLu4FcDngJ kjJtmtsCIR7NmGsNLBxbpLpUYEx07KmENX+E/rTKNBUZME3ahWc+mdlYkv4M33RrXXAWJoXY f+zGftAx15DYUi75FJan9sg7II=
IronPort-HdrOrdr: A9a23:L7a4+KPIRqY7qMBcTuKjsMiBIKoaSvp037By7TEUdfRUGvb1qy ncpoV96faUskdqZJhOo7C90cW7K080sKQFhLX5Xo3SITUO2lHYT72KhLGKq1bd8m/Fh4xgPM xbHJSWfeeQMbEMt6jHCWeDfurIi+P3lpxAzd2utkuEB2tRGtldBilCe32mLnE=
X-Talos-CUID: 9a23:ViZzkW5k8mdtJX4OrNss3mI4I9IYYjrn6mqNDB+1CD5OUbmPcArF
X-Talos-MUID: 9a23:mj/6TQz23TJskZRmaIPPOSnJ1FOaqIOuLHAJq80dgdOZNghJKSiFsymdRoByfw==
X-IronPort-AV: E=Sophos;i="6.13,222,1732579200"; d="png'150?scan'150,208,217,150";a="41664163"
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX02.vcorp.ad.vrsn.com (10.173.153.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Tue, 21 Jan 2025 08:07:39 -0500
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) by BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) with mapi id 15.01.2507.044; Tue, 21 Jan 2025 08:07:39 -0500
From: "Gould, James" <jgould@verisign.com>
To: "tbray@textuality.com" <tbray@textuality.com>
Thread-Topic: [EXTERNAL] Re: [regext] Re: [IANA #1410981] expert review for draft-ietf-regext-epp-eai (xml-registry)
Thread-Index: AQHbaPqcbuXjI7f7Qk6FwJKmtdqtVrMhOO+A
Date: Tue, 21 Jan 2025 13:07:39 +0000
Message-ID: <2A11BF06-B497-4221-BF32-812FC3211AEE@verisign.com>
References: <RT-Ticket-1410981@icann.org> <rt-5.0.3-873023-1736906767-999.1410981-9-0@icann.org> <rt-5.0.3-1093986-1736981576-467.1410981-9-0@icann.org> <CAHBU6ium09jXBMp+BG+HkBcKJNk-LsA--OX5BxtHoEtZnWmvyA@mail.gmail.com> <2AB1F20E-71F5-4D55-904D-E84182A522E7@verisign.com> <CAHBU6it6L=RJuspy7TvDW_mbWC6QPsH0QRrYgbnqVxy+dmei6g@mail.gmail.com>
In-Reply-To: <CAHBU6it6L=RJuspy7TvDW_mbWC6QPsH0QRrYgbnqVxy+dmei6g@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.92.24120731
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_004_2A11BF06B4974221BF32812FC3211AEEverisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Message-ID-Hash: 6ETH6ZZZYGWOR3Q5X3P3JHEUATIAEK77
X-Message-ID-Hash: 6ETH6ZZZYGWOR3Q5X3P3JHEUATIAEK77
X-MailFrom: jgould@verisign.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-regext.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "mt@lowentropy.net" <mt@lowentropy.net>, "regext@ietf.org" <regext@ietf.org>, "drafts-expert-review-comment@iana.org" <drafts-expert-review-comment@iana.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [regext] Re: [IANA #1410981] expert review for draft-ietf-regext-epp-eai (xml-registry)
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/WmSWur3hBd4QbvfFXWIzZ-Vi9Bk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Owner: <mailto:regext-owner@ietf.org>
List-Post: <mailto:regext@ietf.org>
List-Subscribe: <mailto:regext-join@ietf.org>
List-Unsubscribe: <mailto:regext-leave@ietf.org>

Tim,

The type element value references a type definition in one of the namespaces defined at the top of the XML schema.  In the case of EPP RFC 5730, the <schema> element defines the namespaces:

<schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0"
        xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
        xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
        xmlns=”http://www.w3.org/2001/XMLSchema”
        elementFormDefault="qualified">

The “epp” element with <element name="epp" type="epp:eppType"/> references the eppType in the “epp” namespace that matches the targetNamespace, with the definition:

  <complexType name="eppType">
    <choice>
      <element name="greeting" type="epp:greetingType"/>
      <element name="hello"/>
      <element name="command" type="epp:commandType"/>
      <element name="response" type="epp:responseType"/>
      <element name="extension" type="epp:extAnyType"/>
    </choice>
  </complexType>


Another namespace could define the type eppType, such as the “eppcom” namespace, where the inclusion of the namespace in the type value enables the XML parser to know which type applies.  See later that this is referred to as a QName.


For your example:

<something xmlns:foo="urn:ietf:params:xml:ns:epp-1.0”><element name="epp" type=“foo:eppType”/>

This would work if the xmlns:foo is included in the <schema> element, like:

<schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0"
        xmlns:foo="urn:ietf:params:xml:ns:epp-1.0"
        xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
        xmlns=”http://www.w3.org/2001/XMLSchema”
        elementFormDefault="qualified">

<element name="epp" type=“foo:eppType”/>

  <complexType name="eppType">
    <choice>
      <element name="greeting" type="epp:greetingType"/>
      <element name="hello"/>
      <element name="command" type="epp:commandType"/>
      <element name="response" type="epp:responseType"/>
      <element name="extension" type="epp:extAnyType"/>
    </choice>
  </complexType>


In looking at https://www.w3.org/TR/xmlschema11-1/#Schemas, in states in section 3.17.2.1 “References to Schema Components”:

Reference to schema components from a schema document is managed in a uniform way, whether the component corresponds to an element information item from the same schema document or is imported (References to schema components across namespaces (<import>) (§4.2.6)<https://www.w3.org/TR/xmlschema11-1/#composition-schemaImport>) from an external schema (which may, but need not, correspond to an actual schema document). The form of all such references is a ·QName·<https://www.w3.org/TR/xmlschema11-1/#gloss-QName>.

[Definition:]  A QName is a name with an optional namespace qualification, as defined in [XML Namespaces 1.1]<https://www.w3.org/TR/xmlschema11-1/#ref-xml-namespaces-1.1>. When used in connection with the XML representation of schema components or references to them, this refers to the simple type QName<https://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/datatypes.html#QName> as defined in [XML Schema: Datatypes]<https://www.w3.org/TR/xmlschema11-1/#ref-xsp2>. For brevity, the term ·QName·<https://www.w3.org/TR/xmlschema11-1/#gloss-QName> is also used to refer to ·actual values·<https://www.w3.org/TR/xmlschema11-1/#key-vv> in the value space of the QName<https://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/datatypes.html#QName> simple type, which are expanded names<https://www.w3.org/TR/2004/REC-xml-names11-20040204/#dt-expname> with a [Definition:]  local name and a [Definition:]  namespace name.

There are many examples in https://www.w3.org/TR/xmlschema11-1/#Schemas of the type attribute value referencing a namespace, such as the following examples:

<xs:attribute name="age" type="xs:positiveInteger" use="required"/>

<xs:element name="birthday" type="xs:date"/>

<xs:element name="facet" type="xs:facet" abstract="true"/>


--

JG

[cid87442*image001.png@01D960C5.C631DA40]

James Gould
Fellow Engineer
jgould@Verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgould@Verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>

From: Tim Bray <tbray@textuality.com>
Date: Friday, January 17, 2025 at 11:12 AM
To: James Gould <jgould@verisign.com>
Cc: "mt@lowentropy.net" <mt@lowentropy.net>, "regext@ietf.org" <regext@ietf.org>, "drafts-expert-review-comment@iana.org" <drafts-expert-review-comment@iana.org>
Subject: [EXTERNAL] Re: [regext] Re: [IANA #1410981] expert review for draft-ietf-regext-epp-eai (xml-registry)


Caution: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

On Jan 17, 2025 at 6:22:32 AM, "Gould, James" <jgould@verisign.com<mailto:jgould@verisign.com>> wrote:
Tim,

Thank you for the review.  In your note, is the concern that the namespace prefix is being used for the element name (e.g., “addlEmail”)?  I found similar definitions in the following EPP RFCs, which are broadly implemented:

•         EPP RFC 5730 with xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" and <element name="epp" type="epp:eppType"/>.

No, the element name is fine, it’s the value of the “type” attribute that is troublesome.  The namespace prefix “epp" is really only designed to prefix element & attribute names, not to be used inside the element content or the attribute value.  There aren’t any standards (afaik) that require a standard off-the-shelf XML processor to make those prefix/URI mappings available.

For example, would you expect this to work?

<something xmlns:foo="urn:ietf:params:xml:ns:epp-1.0”><element name="epp" type=“foo:eppType”/>

I mean, it’s probably OK, enough people do this that most XML software can handle it. It’s just that as the designated XML pedant, I feel I should point out departures from the letter of the standard.

 -T