Exemple de <xsl:namespace-alias>
Cet exemple montre comment utiliser <xsl:namespace-alias> pour déclarer le préfixe alt: comme un alias de l'espace de noms XSLT dans l'arborescence résultat littérale, lorsque le préfixe xsl: est lié pour le même URI d'espace de noms dans la feuille de style. La sortie est une autre feuille de style XSLT.
Fichier XML (mymin.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="alias.xsl"?>
<myelem/>
Fichier XSLT (alias.xsl)
<?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>
Fichier JScript (test.js)
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.");
Essayez !
Copiez le fichier XML ci-dessus et collez-le dans un fichier texte. Enregistrez le fichier sous mymin.xml dans un répertoire de votre disque local.
Copiez le fichier XSLT ci-dessus et collez-le dans un fichier texte. Enregistrez le fichier sous alias.xsl dans le même répertoire.
Copiez le listing JScript ci-dessus et collez-le dans un fichier texte. Enregistrez le fichier sous test.js dans le même répertoire.
Double-cliquez sur le fichier test.js dans l'Explorateur de fichiers pour lancer l'application. Ou bien, vous pouvez entrer « test.js » à partir d'une invite de commande.
Notes
Sous les systèmes d'exploitation autres que Windows 2000 ou Windows XP, vous devrez peut-être installer l'hôte de script Windows (wscript.exe), s'il n'est pas encore installé.
Le fichier de sortie suivant, output.xsl, apparaît sur votre disque local.
Vérifiez que la sortie est identique à celle illustrée ci-dessous.
Sortie
Lors de l'exécution de test.js, vous devriez voir la sortie suivante dans une boîte de message ou dans la fenêtre de console :
Output.xsl was made.
Le processeur produit également le flux suivant dans un fichier XSLT, output.xsl, dans le dossier où vous avez enregistré les fichiers d'exemple. Des espaces ont été ajoutés ici pour plus de clarté.
<?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>