使用 XSLT 1.0 和 Java 通过一次匹配在不同的子树中生成两个不同的标签
Generate two different tags in different sub-trees by one match using XSLT 1.0 and Java
我有这个输入 XML:
...
<body>
<wp .../>
</body>
...
我需要生成这个 XML:
...
<body>
<wp-list>
<from_wp_1 .../>
...
</wp-list>
<ro>
<from_wp_2.../>
...
</ro>
</body>
...
如何为一个输入 wp 在不同的子树中生成这两个不同的标签 from_wp_1 和 from_wp_2?
你的问题比较模糊,可以有很多不同的答案。我认为你想做这样的事情:
<xsl:template match="/body">
<xsl:copy>
<wp-list>
<xsl:apply-templates select="wp"/>
</wp-list>
<ro>
<xsl:apply-templates select="wp" mode="ro"/>
</ro>
</xsl:copy>
</xsl:template>
<xsl:template match="wp">
<!-- do something -->
</xsl:template>
<xsl:template match="wp" mode="ro">
<!-- do something else -->
</xsl:template>
我有这个输入 XML:
...
<body>
<wp .../>
</body>
...
我需要生成这个 XML: ...
<body>
<wp-list>
<from_wp_1 .../>
...
</wp-list>
<ro>
<from_wp_2.../>
...
</ro>
</body>
...
如何为一个输入 wp 在不同的子树中生成这两个不同的标签 from_wp_1 和 from_wp_2?
你的问题比较模糊,可以有很多不同的答案。我认为你想做这样的事情:
<xsl:template match="/body">
<xsl:copy>
<wp-list>
<xsl:apply-templates select="wp"/>
</wp-list>
<ro>
<xsl:apply-templates select="wp" mode="ro"/>
</ro>
</xsl:copy>
</xsl:template>
<xsl:template match="wp">
<!-- do something -->
</xsl:template>
<xsl:template match="wp" mode="ro">
<!-- do something else -->
</xsl:template>