Namespace Partitions

For each namespace, including the one with no namespace URI, there are a number of namespace partitions:

Since those partitions exist for each namespace, the collection of namespace partitions can be viewed as a two-dimensional table:

Namespace URI
(in xmlns attribute)
PrefixElement NamesElement Attribute NamesGlobal Attribute Names
none (xmlns="")nonetitle (in RSS, OPML, etc.)<rss version>
<opml version>
HTML global attributes such as id and style
http://www.w3.org/1999/xhtmldefault (no prefix)<a> <link> <form><a href> <a rel>
<link href> <link rel>
<form action> <form method>
http://www.w3.org/XML/1998/namespacexml:
reserved
xml:lang
xml:space
http://www.w3.org/2000/xmlns/xmlns:
reserved
default namespace (xmlns=) and namespace prefix declarations (xmlns:xxx=)
http://www.w3.org/2001/XMLSchemaxsd: for the HTML examples on this site<element> <attribute><element name> <element ref>
<attribute name> <attribute ref>
http://www.w3.org/2001/XMLSchema-instancexsi: for the HTML examples on this sitexsi:type
http://www.w3.org/1998/Math/MathMLmath: for the HTML examples on this site<math> <mo><math mode>
<mo form>
http://www.w3.org/1999/02/22-rdf-syntax-ns#rdf: for the HTML examples on this siterdf:RDF rdf:Description rdf:Listrdf:about
http://www.w3.org/2000/01/rdf-schema#rdfs: for the HTML examples on this siterdfs:Datatype
http://www.w3.org/2000/svgsvg: for the HTML examples on this site<svg> <rect><svg viewBox>
<rect width> <rect height>

When designing schema for one or more sets of objects, you should ensure that no namespace partition (as shown in the table above) contains the same name for two different object types. Otherwise, it will be difficult to create a definition (XML Schema definition or DTD) that properly describes the schema. For example, in the table above the title element in the "no namespace URL" partition violates this requirement because it is used for RSS channel titles, RSS item titles and OPMN titles.