2009-12-14 2 views
0

Я использую Xalan и Java для расширения таблицы стилей.XSLT/Xalan: вызов прикладных шаблонов из расширения Java

(Подобный пример того, что я делаю там: Dictionary example)

Я борюсь, чтобы мой тег сделать <xsl:apply-templates/>. Я хочу, чтобы это:

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

Мой класс Java, содержащий метод tag(XSLProcessorContext context, ElemExtensionCall elem) строит элемент myElem подается в контексте, как это:

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

Но я хочу, чтобы применить шаблоны, определенные в таблице стилей подэлементы myElem.

Как я могу запустить <xsl:apply-templates/> из моего класса Java? Является ли это возможным ?

+0

Tumbleweed наконец! – glmxndr

ответ

0

В Xalan я делаю

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

Идея заключается в том, чтобы выполнить для цикла (от и до значений) повторение кода внутри, что х раз. Не уверен в истинности на execChildTemplates, но, похоже, работает.