FANDOM


QNames were introduced by XML Namespaces in order to be used as URI references[1]. QName stands for "qualified name" and defines a valid identifier for elements and attributes. QNames are generally used to reference particular elements or attributes within XML documents. [2]

Motivation Edit

Since URI references can be long and may contain prohibited characters for element/attribute naming, QNames are used to create a mapping between the URI and a namespace prefix. The mapping enables the abbreviation of URIs, therefore it achieves a more convenient way to write XML documents. (see Example)

Formal definition Edit

QNames are formally defined by the W3C as[3]:

  QName ::= PrefixedName | UnprefixedName
 
  PrefixedName   ::= Prefix ':' LocalPart
  UnprefixedName ::= LocalPart

Whereby the Prefix is used as placeholder for the namespace and the LocalPart as the local part of the qualified name. A local part can be an attribute name or an element name.

Example Edit

  <?xml version='1.0'?>
  <doc xmlns:x="http://example.com/ns/foo">
    <x:p/>
  </doc>

In line two the prefix "x" is declared to be associated with the URI "http://example.com/ns/foo". This prefix can further on be used as abbreviation for this namespace. Subsequently the tag "x:p" is a valid QName because it uses the "x" as namespace reference and "p" as local part. The tag "doc" is also a valid QName, but it consists only of a local part.[4]

References Edit

  1. Namespaces in XML 1.0 (Second Edition)
  2. Using Qualified Names (QNames) as Identifiers in XML Content
  3. Namespaces in XML 1.0 (Second Edition)
  4. Namespaces in XML 1.0 (Second Edition)

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.