這裏是問題:XSLT任務中的屬性擴展不起作用
我有一個XSLT任務,它假設產生一個XML文件作爲輸出。這是我目前得到的輸出:
C:\用戶\ rmrd001 \ git的\ XSLT的框架\例子\中間\ ODT文件夾\ T2 \ T2.1 \內容
它生成沒有任何擴展名的文件。所以窗戶不提供默認程序來打開。當然,期望的結果是相同的,但包含擴展名。即:
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>
我知道這不是完整的腳本,但一切工作正常,除了缺少輸出文檔的擴展名。沒有mapper
嵌套到XSL任務中。我也可以通過將.xml
添加到out
屬性中指定的路徑來解決此問題,如out="${dita-odt.path.odt-unzipped-base-dir}/${common-path}/${file-base-name}.xml"
。無論如何,爲什麼它不工作?
在我需要'content'有其他擴展名,例如的.odt其他目標。這就是爲什麼我已經排除了它的擴展,所以我可以稍後添加所需的一個取決於目標的目的。此外,xslt任務不應該關心什麼是輸出文件的擴展,這是爲什麼'extension'屬性被指定的原因? – Hairi
https://ant.apache.org/manual/Tasks/style.html擴展的默認值是用前導點指定的,「.xml」是否工作?它還說「如果指定了嵌套的,將會被忽略。」 –
fafl
嘗試使用「.xml」也不起作用。正如你可以從我的帖子看到的,沒有嵌套元素。 –
Hairi