XSLT Reference : Using Extension Objects : General XSL Extensions
 
General XSL Extensions
XSL extensions live in a specific namespace. Users can define their own prefix to associate with a given namespace, but in general sticking with a consistent naming convention makes life easier.
For example, the XSL namespace is:
To define a prefix for it, one adds an XSL namespace declaration to your XSL stylesheet:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
..
</xsl:stylesheet>
Now the desired namespace can be referenced just using a prefix rather than the actual namespace. Therefore, the following two lines are equivalent:
<xsl:variable name="VarNew" select="'Hello'" />
<variable xmlns="http://www.w3.org/1999/XSL/Transform" name="VarNew" select="'Hello'" />
Microsoft's XSL transform implementation does not support extension elements at this time. Therefore, methods must be called from within "select" contexts.
<xsl:value-of select="wwexsldoc:Document($VarResult, $VarPath)" />
<xsl:variable name="VarDocumentWrite" select="wwexsldoc:Document($VarResult, $VarPath)" />