Передать абсолютный путь к файлу из кода Java в документ xslt ()
В моем xslt я хотел бы посмотреть XML-файл. Мне нужно передать путь к этому файлу из кода Java. У меня есть следующие:
...
Transformer transformer = TRANSFORMER_FACTORY.newTransformer();
transformer.setParameter("mypath", "/home/user/repository");
XSLT:
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:param name="mypath"/>
...
<xsl:template match="connection[@id]">
<xsl:variable name="lookupStore" select="document('$mypath/myfile.xml')/connections"/>
<xsl:copy>
<xsl:apply-templates select="$lookupStore">
<xsl:with-param name="current" select="."/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
...
<xsl:transform>
Проблема в том, что я хочу передать абсолютный «базовый» путь к xsl, который я хочу объединить с фактическим именем файла xml (myfile.xml). Мне кажется, чтоdocument
считает параметры файла относительно местоположения xsl. Кроме того, я заметил, что параметр не взят из кода Java. Я использую JABX со стандартным процессором Xalan XSLT (1.0). Я пробовал много вариантов передачи параметров, основанных на других сообщениях SO, но безуспешно.