Thanks for closing the loop, Tim.
Scott From: Tim Bray <tb...@textuality.com> Sent: Tuesday, January 21, 2025 10:45 AM To: Gould, James <jgo...@verisign.com> Cc: m...@lowentropy.net; regext@ietf.org; drafts-expert-review-comm...@iana.org Subject: [EXTERNAL] [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. I have gone and checked up on the most recent standards concerning this practice and it turns out I was out of date. I withdraw my objections and see no problems with the draft. Pardon my interruption. -Tim On Jan 21, 2025 at 7:07:39 AM, "Gould, James" <jgo...@verisign.com<mailto:jgo...@verisign.com>> wrote: 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 James Gould Fellow Engineer jgo...@verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com> 703-948-3271 12061 Bluemont Way Reston, VA 20190 Verisign.com<http://secure-web.cisco.com/1T2alYGUqRTc6T5qNtKbggi015ViK6d-Fdkvp_cvK12SVexcOgikwLHC42WgPQuBeVvSt4RFCQhlYy8ClgTREmlgRbJLqz3TyX67Bi3d4EWLruNkESvK0IRGVIVYgXOVeA0hZ1IkwxD_mqRyTiGpeun365sTlGUwbH3Uz8EAxNky4WQpjcggEA70sS8I10t7uz8H3F6ZmzxsmGmI7mlvoBeQ0EBTecOIj0JCEEP6BhVVUT1iEPMPL6nTxDsY5XDveAtMsm5fdChoua19tmJHJJWyCyB8Pa9i-851oMPDnFUg/http%3A%2F%2Fverisigninc.com%2F> From: Tim Bray <tb...@textuality.com<mailto:tb...@textuality.com>> Date: Friday, January 17, 2025 at 11:12 AM To: James Gould <jgo...@verisign.com<mailto:jgo...@verisign.com>> Cc: "m...@lowentropy.net<mailto:m...@lowentropy.net>" <m...@lowentropy.net<mailto:m...@lowentropy.net>>, "regext@ietf.org<mailto:regext@ietf.org>" <regext@ietf.org<mailto:regext@ietf.org>>, "drafts-expert-review-comm...@iana.org<mailto:drafts-expert-review-comm...@iana.org>" <drafts-expert-review-comm...@iana.org<mailto:drafts-expert-review-comm...@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" <jgo...@verisign.com<mailto:jgo...@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
_______________________________________________ regext mailing list -- regext@ietf.org To unsubscribe send an email to regext-le...@ietf.org