This documentation is archived and is not being maintained.

Example of <xsl:namespace-alias>

This example demonstrates how to use <xsl:namespace-alias> to declare the alt: prefix as an alias for the XSLT namespace in the literal result tree, when the xsl: prefix is bound for the same namespace URI in the stylesheet. The output is another XSLT style sheet.

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="alias.xsl"?>
<myelem/>

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:alt="http://www.w3.org/1999/XSL/Transform-alternate">

<xsl:namespace-alias stylesheet-prefix="alt" result-prefix="xsl"/>
<xsl:param name="browser" select="'InternetExplorer'"/>

<xsl:template match="/">
   <alt:stylesheet>
      <xsl:choose>
         <xsl:when test="$browser='InternetExplorer'">
            <alt:import href="IERoutines.xsl"/>
            <alt:template match="/">
               <div>
                  <alt:call-template name="showTable"/>
               </div>
            </alt:template>
         </xsl:when>
         <xsl:otherwise>
            <alt:import href="OtherBrowserRoutines.xsl"/>
            <alt:template match="/">
               <div>
                  <alt:call-template name="showTable"/>
               </div>
            </alt:template>
         </xsl:otherwise>
      </xsl:choose>
   </alt:stylesheet>
</xsl:template>
</xsl:stylesheet>

var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xmldoc.async=false;
xmldoc.load("mymin.xml");

var xsldoc= new ActiveXObject("Msxml2.DOMDocument.6.0");
xsldoc.async = false;
xsldoc.load("alias.xsl");

var outfile = new ActiveXObject("Msxml2.DOMDocument.6.0");
outfile.async=false;

var strResult;
strResult = xmldoc.transformNode(xsldoc);
outfile.loadXML(strResult);
outfile.save("output.xsl");

WScript.Echo("Output.xsl was made.");

Try It!

  1. Copy the XML file above and paste it into a text file. Save the file as mymin.xml to a directory on your local drive.

  2. Copy the XSLT file above and paste it into a text file. Save the file as alias.xsl in the same directory.

  3. Copy the JScript listing above, and paste it into a text file. Save the file as test.js, in the same directory.

  4. Double click the test.js file from Windows Explorer to launch the application. Alternatively, you can type "test.js" from a command prompt.

    NoteNote

    Under operating systems other than Windows 2000 or Windows XP, you might need to install Windows Scripting Host (wscript.exe), if it is not already installed.

    The following output file, output.xsl, appears on your local drive.

  5. Verify that your output is the same as that listed below.

When you run test.js, you should see the following output in a message box or console window:

Output.xsl was made.

The processor also outputs the following stream as an XSLT file, output.xsl, into the folder where you stored the sample files. White space has been added here for clarity.

<?xml version="1.0" encoding="UTF-16"?>
<xsl:stylesheet 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="IERoutines.xsl" />

<xsl:template match="/">
   <div>
      <xsl:call-template name="showTable" />
   </div>
</xsl:template>

</xsl:stylesheet>

Show: