私は問題があります。2 つの XML ファイルのコンテキストを 1 つに結合したいと考えています。これは、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>
2番目のように:
<?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 に 2 番目の XML を追加します。正しい TEMP.xsl ファイルを作成する必要があります。
私は以下を使用する必要があります:
- xslt-generator-maven-plugin
これを試しましたが、トークン化が問題です。
<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 しかし、私の側では成功しませんでした。
どんな助けでも大歓迎です。:)