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> 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
>
>
> [image: cid87442*image001.png@01D960C5.C631DA40]
>
>
> *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://verisigninc.com/>
>
>
>
> *From: *Tim Bray <tb...@textuality.com>
> *Date: *Friday, January 17, 2025 at 11:12 AM
> *To: *James Gould <jgo...@verisign.com>
> *Cc: *"m...@lowentropy.net" <m...@lowentropy.net>, "regext@ietf.org" <
> regext@ietf.org>, "drafts-expert-review-comm...@iana.org" <
> 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> 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

Reply via email to