Используя Saxon9he, я хотел бы передать каталог входного файла в мою таблицу стилей XSLT. Я определил параметр в своей таблице стилей:
<xsl:param name="publishing.folder" />
и в командной строке:
+publishing.folder="%~dp1\"
С +
параметр пуст.
Без +
,
publishing.folder="%~dp1\"
Я получаю: Error in xsl:result-document/@href Resolved URL is malformed: unknown protocol: d
d
может быть буквой диска, где находится входной файл.
Вот код с @href
, вызывающим ошибку:
<xsl:template match="/">
<xsl:call-template name="write-dataset-file">
<xsl:with-param name="filename" select="concat($publishing.folder,'-dataset.xml')"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="write-dataset-file">
<xsl:param name="filename"/>
<xsl:result-document href="{$filename}" omit-xml-declaration="false" method="xml" indent="yes">
<Dataset>
</Dataset>
</xsl:result-document>
</xsl:template>
xalan принимает параметр командной строки -PARAM publishing.folder "%~dp1\"
, но я бы не стал go возвращаться к XSLT 1.0