Обработка XSLT с Java: передача содержимого XML в параметре

Я хотел бы передать параметр, содержащийXML содержание при обработкеXSLT, Вот мой код:

import javax.xml.transform.Result; 
import javax.xml.transform.Source; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.TransformerException; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.stream.StreamResult; 
import javax.xml.transform.stream.StreamSource; 

File xmlFile = new File(xmlFilePath);
File xsltFile = new File(xslFilePath);
Source xmlSource = new StreamSource(xmlFile);
Result result = new StreamResult(System.out);

TransformerFactory transFact = TransformerFactory.newInstance();
Transformer trans = transFact.newTransformer(xsltSource);
trans.setParameter("foo", "<bar>Hello1</bar><bar>Hello2</bar>");
trans.transform(xmlSource, result);

Затем я хотел бы выбрать значения, содержащиеся в теге 'bar' в моем XSL-файле.

<xsl:param name="foo"/>
...
<xsl:value-of select="$foo//foo[1]" />

Но это не работает, я получаю это сообщение об ошибке:

org.apache.xpath.objects.XString cannot be cast to org.apache.xpath.objects.XNodeSet

Так что я думаю, что должен передать объект XML в мой метод setParameter, но какой именно? Я не могу найти простой пример, как создать объект XNodeSet ...

Как я могу это сделать? Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос