attribute values as qnames?

Rick Jelliffe ricko at
Thu Dec 23 06:27:32 GMT 1999

From: Mark D. Anderson <mda at> 

>i noticed that xmlschema is using qnames in attribute values:
><schema targetNamespace=""
>        xmlns=""
>        xmlns:po="">
> <element name="PurchaseOrder" type="po:PurchaseOrderType"/>
>This is something I've wanted to, and thought was not allowed,
>so I dug up xml-names, and found only this, in section 6:
>  "Strictly speaking, attribute values declared to be of types ID,
>  IDREF(S), ENTITY(IES), and NOTATION are also Names, and thus
>  should be colon-free."
>Of course, other types of attributes can have a colon, but regardless
>there is no intimation that the prefixes would be expanded (and in
>fact they shouldn't be, for an arbitrary attribute).
To reference the name of an element type in an
attribute, one can use the namespace prefix: this is what
XPaths do, for example.  So the XML schema processor 
may indeed have to have the xmlns prefix->URI mappings 
available. A namespace processor will not resolve values
of attributes, merely names of elements and attributes (AFAIK,
but I am easily confusable.)

That type attribute is not an ID, IDREF, ENTITY or NOTATON
but a %QName;  (i.e., CDATA) so it conforms to the XML NS Spec.

Rick Jelliffe

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list