问题在于:
我有一个XSLT任务,假设生成一个XML文件作为输出。这是我目前得到的输出:
C:\用户\ rmrd001 \ GIT中\ XSLT的框架\例子\中间\ ODT夹\ T2 \ T2.1 \含量
它生成一个没有任何扩展名的文件。所以windows不提供打开的默认程序。当然,期望的结果是相同的,但包括扩展。即:
C:\用户\ rmrd001 \ GIT中\ XSLT的框架\例子\中间\ ODT夹\ T2 \ T2.1 \ content.xml中
这是任务定义:
<xslt in="@{file}" out="${dita-odt.path.odt-unzipped-base-dir}/${common-path}/${file-base-name}" style="${dita-odt.path.text-odt-xsl}" extension="xml" force="true">
<param name="dir-path-styles-xml" expression="${dita-odt.path.odt-unzipped-base-dir}/${common-path}"/>
<!--The following parameter is designated for reference nodes that require absolute path. For example draw:image/@href. This is to achieve system portability as well.-->
<param name="project-base-dir-absolute-path" expression="${base-dir-unix}"/>
<classpath location="${infrastructure-base-dir}/${dita-odt.text-odt-xsl.processor}"/>
</xslt>
我知道这不是完整的脚本,但除了输出文档缺少扩展名外,一切正常。 XSL 任务中没有mapper
嵌套。我还可以通过将.xml
添加到out
属性中指定的路径(例如此out="${dita-odt.path.odt-unzipped-base-dir}/${common-path}/${file-base-name}.xml"
)来解决此问题。无论如何,为什么它不起作用?
答案 0 :(得分:1)
对于extension
,如果符合以下任一项,则会忽略out
属性:
<mapper>
属性<xslt>
嵌套在<xslt>
让out
输出具有特定扩展名的文件:
<mapper>
array[0]
答案 1 :(得分:0)
您需要指定完整路径。如果$ {file-base-name}不包含&#34; .xml&#34;最后,你必须指定它。看它的定义会有所帮助。
XSLT的默认输出不是XML,因为XSLT可以写任何内容。