Salut,
Je viens enfin de trouver le temps de tester ce que tu m'as conseillé.
Mais apparemment j'ai du mal comprendre parce que j'arrive pas.
Voilà ce que j'ai fait :
fichier callTemplateTransformer.xsl
Code :
- <xsl:template name="callTemplateTransformer">
- <xsl:param name="file"/>
- <xsl:param name="elementName"/>
- <xsl:if test="//template[name=$elementName]">
- <xsl:call-template name="replace-string">
- <xsl:with-param name="from"><call-template match="$elementName"></xsl:with-param>
- <xsl:with-param name="to"><xsl:value-of select="document($file)//template[name=$elementName]"/></xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
|
Où replace-string est la template disponible ici : http://aspn.activestate.com/ASPN/C [...] cipe/65426
Ensuite, le fichier que je voudrais faire heriter d'un autre :
son.xsl
Code :
- <xsl:template name="transform">
- <xsl:call-template name="callTemplateTransformer">
- <xsl:with-param name="file">son.xsl</xsl:with-param>
- <xsl:with-param name="elementName">table</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
- <xsl:template name="table">
- <xsl:call-template name="createHeaders">
- <xsl:with-param name="param">1</xsl:with-param>
- </xsl:call-template>
- <xsl:apply-templates select="*"/>
- </xsl:template>
|
Et le fichier mère mere.xsl contenant entre autres :
Code :
- <xsl:template name="createHeaders">
- <xsl:param name="colspan">2</xsl:param>
- <value-of select="$colspan"/>
- </xsl:template>
-
- <xsl:template name="table">
- <xsl:call-template name="createHeaders"/>
- <xsl:apply-templates select="*"/>
- </xsl:template>
|
L'erreur générée est :
XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: compilation error: file mere.xsl line 54 element template /OutputPR.php 93 où la ligne 54 est la ligne de la definition du template "table"
Qu'est-ce que j'ai mal compris?
Message édité par esox_ch le 04-03-2007 à 17:22:52
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait