2009-12-14 7 views
0

J'utilise Xalan et Java pour étendre une feuille de style.XSLT/Xalan: appel de apply-templates depuis une extension Java

(exemple similaire à ce que je fais là: Dictionary example)

Je lutte pour faire mon tag faire une <xsl:apply-templates/>. Je souhaite avoir ceci:

<xsl:template match="sometag"> 
    <my-java:tag> 
     <xsl:apply-tempates/> 
    </my-java:tag> 
</xsl:template> 

Ma classe java contenant la méthode tag(XSLProcessorContext context, ElemExtensionCall elem) construit un élément myElem introduit dans le contexte comme celui-ci:

context.outputToResultTree(context.getStylesheet(), myElem); 

Mais je veux appliquer les modèles définis dans la feuille de style sous-éléments de myElem.

Comment puis-je déclencher le <xsl:apply-templates/> à partir de ma classe Java? C'est possible ?

+0

Tumbleweed enfin! – glmxndr

Répondre

0

En Xalan je fais

TransformerImpl transf = context.getTransformer(); 
for (int i = fromValue; i <= toValue; i++) { 
    setInt(variable, i); 
    transf.executeChildTemplates(elem, true); 
} 

L'idée est d'exécuter une boucle (la provenance et à des valeurs) en répétant le code à l'intérieur que x fois. Je ne suis pas sûr du 'true' sur executeChildTemplates - semble fonctionner.

Questions connexes