我有问题。我想将两个XML文件的上下文合并为一个。这是在MAVEN项目(POM)和XSL中使用xslt-generator-maven-plugin的帮助。
我的pom配置如下:
<plugin>
<groupId>net.sf.xsltmp</groupId>
<artifactId>xslt-generator-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>transform-contex</id>
<goals>
<goal>many-to-one</goal>
</goals>
<configuration>
<srcDir>src/main/webapp/META-INF/</srcDir>
<srcIncludes>**/*context.xml</srcIncludes>
<xslTemplate>src/main/webapp/Temp.xsl</xslTemplate>
<destFile>${project.build.directory}/contextNEW.xml</destFile>
</configuration>
</execution>
</executions>
</plugin>
我的第一个文件是:
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="0" reloadable="true" >
<Resourcen name="jdbc/ChiDS"
auth="Container"
type="javax.sql.DataSource"
...
</Context>
和第二个像:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Realm className="org.apache.catalina.realm.MemoryRealm"
pathname="webapps/${application.name}/WEB-INF/users.xml"/>
</Context>
并希望得到:
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="0" reloadable="true" >
<Resourcen name="jdbc/ChiDS"
auth="Container"
type="javax.sql.DataSource"
...
<Realm className="org.apache.catalina.realm.MemoryRealm"
pathname="webapps/${application.name}/WEB-INF/users.xml"/>
</Context>
所以我会先将第二个XML附加到第一个。我需要创建一个正确的TEMP.xsl文件。
我“需要”使用以下内容:
我试过这个,但令人印象深刻是一个问题。
<xsl:output method="xml" indent="yes"/>
<xsl:param name="source-file-names" />
<xsl:variable name="names-sequence" select="tokenize($source-file-names,'\|')" />
<xsl:variable name="cfg-files" select="document($names-sequence)" />
有任何线索吗?我尝试了几件事,但没有解决这个问题。
感谢您的帮助。
我尝试过这个XSL(我修复了令牌问题)但没有成功:
<xsl:output method="xml" indent="yes"/>
<xsl:param name="source-file-names" />
<xsl:variable name="names-sequence" select="fn:tokenize($source-file-names,'\|')" />
<xsl:variable name="cfg-files" select="document($names-sequence)" />
<xsl:template match="/">
<xsl:copy>
<xsl:apply-templates select="$cfg-files/*"/>
</xsl:copy>
</xsl:template>
我查看了这个示例:https://github.com/ivos/xslt-generator-maven-plugin/issues/1 但是我没有成功。
欢迎任何帮助。 :)
答案 0 :(得分:0)
您需要创建第三个xml文档,其中包含您要加入的其他xml文件 我认为这很有用:http://www.ibm.com/developerworks/library/x-tipcombxslt/
答案 1 :(得分:0)
您可以在这里查看我的示例,其中我使用xslt变量文档加载组合了两个xml文件。您可以在此处找到它:Transform XML with multiple XSL files