Bonjour à tous,
Afin de faciliter le paramétrage et de décharger le serveur du parsing
inutile, j'aimerais pouvoir générer de façon statique (= sur action de
l'admin) des fichiers XSL à partir de gros fichiers XSL sources.
Je dispose d'un premier fichier XSL, classique :
----------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="formpart1">
<h1>Show form part1</h1>
</xsl:template>
<xsl:template match="formpart2">
<h1>Show form part2</h1>
</xsl:template>
</xsl:stylesheet>
----------
J'ai ensuite un second filtre XSL, avec un namespace différent, qui
permet de parser le premier et d'en resortir uniquement les choses
voulues (suivant la valeur de xsl:param) :
----------
<superxsl:stylesheet version="1.0"
xmlns:superxsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<superxsl:output method="xml" encoding="ISO-8859-15" indent="yes"/>
<superxsl:param name="showpart1">1</superxsl:param>
<superxsl:param name="showpart2">0</superxsl:param>
<superxsl:template match="/">
<xsl:text disable-output-escaping="yes"><![CDATA[<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">]]></xsl:text>
<superxsl:apply-templates />
<xsl:text
disable-output-escaping="yes"><![CDATA[</xsl:stylesheet>]]></xsl:text>
</superxsl:template>
<superxsl:template match="xsl:template">
<superxsl:if test="@match='/'">
<superxsl:copy-of select="." />
</superxsl:if>
<superxsl:if test="$showpart1='1' and @match='formpart1'">
<superxsl:copy-of select="." />
</superxsl:if>
<superxsl:if test="$showpart2='1' and @match='formpart2'">
<superxsl:copy-of select="." />
</superxsl:if>
</superxsl:template>
</superxsl:stylesheet>
----------
Est-ce que ca vous parrait être un bon système ? Est-ce que certains
d'entre vous on d'autres méthodes pour ce genre de traitement ?
Vos avis m'intéressent :)
Bonne journée
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Dec 15 13:30:18 2004