Я хочу преобразовать и разделить документ XML.Поэтому я использую «результат-документ», и это работает.Но когда я пытаюсь запустить XSLT с помощью ANT, я получаю выходной документ xml только с объявлением xml.
Source-XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<row>
<name>name1</name>
<title>bab</title>
</row>
<row>
<name>name2</name>
<title>bab</title>
</row>
</root>
Пример сборки ANT:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="Split">
<target name="Transf">
<xslt
in="${basedir}\source-xml\Output.xml"
style="${basedir}\xsl\Transf.xsl"
destdir="${basedir}\xsl\output"
processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"
extension=".xml"
force="yes">
</xslt>
</target>
</project>
XSLT-секция
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output
method="xml"
encoding="UTF-8"
indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="root/row[name='name1'] | root/row[name='name2']">
<xsl:variable name="filename" select="concat('output/',name,'.xml')" />
<xsl:result-document href="{$filename}" method="xml" encoding="iso-8859-1">
<xsl:for-each select="/">
<xsl:element name="topic">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Что не так?Или есть альтернатива итоговому документу?
Заранее спасибо