Any object in XML has a type specifier called a name. For example, an element that describes the title of a book might be given the name booktitle. The representation of the element must include the name in both its start and end tags, like this:

<booktitle>Wart Removal</booktitle>

Names in XML must obey rules about character composition. For example, element names must start with either an underscore or a letter. See also attribute, element, markup.


Any of a group of specified elements and attributes that can be used in a document by prefixing a namespace identifier to an element name, e.g., <namespace:element/>. Namespaces must be declared using the xmlns declaration. The following syntax is used for a namespace declaration:


The name of the namespace is given by name, and the location of the namespace maintainer or version is given by uri (though parsers usually don't do anything with this information). Namespaces allow you to mix different sets of element definitions in a single document, for example, using mathematical equations in an HTML document. See also element, qualified element name.

namespace prefix

The identifier preceding an element's name that indicates the namespace it belongs to, e.g., <namespace:element/>. See also element, qualified element name, namespace.


This term comes from the realm of computer science, where it's used to describe a point in an abstract network of connected items. In XML, it refers to either a branching point in a document tree or a leaf of the tree. The nodes recognized by XPath include elements, attributes, processing instructions, comments, contiguous pieces of character data (text), namespace declarations, and the root node. See also node tree.

node tree

The hierarchical view of the nodes in a document. Starting at the root node, the node tree shows which nodes contain other nodes. See also document tree, node.


Data that should not be parsed or that has special processing needs is labeled as a notation type with an attribute or external entity. A notation declaration in a DTD defines notation types used by the XML processor in order to route the data to a special handler.