Since the XSLT stylesheet and the file it operates on are both XML documents, we need some way to distinguish between more than one set of XML element names. Each set of names is called a namespace.
The solution to this problem is to define a two-part element name:
which set of element names we're talking about, and
is the element
name inside that namespace.
In an XSLT stylesheet, any element name that doesn't have an
xsl: prefix represents an element (with its
content, if any) that gets written to the output.
xsl: namespace and the namespace of the
elements you are writing to the output, you may also use other
namespaces. You can control which namespaces are output and
which are acted on: see the section on the attributes of the root element,
For an example of a situation where you need to refer to other namespaces, see the section on extension elements below.
For more information, see the reference for XML namespaces.