输入XML就像
<figure id="f1_1">
<subfigure>
<graphic position="center" fileref="images/9781626233614_c001_f001.jpg"/>
<legend><para>Reeve’s prosthesis. (Reproduced with permission from Reeves B, Jobbins B, Dowson D, Wright V. A Total Shoulder Endo-Prosthesis.</para></legend>
</subfigure>
</figure>
输出应为
<figure id="f1_1">
<legend><para>Reeve’s prosthesis. (Reproduced with permission from Reeves B, Jobbins B, Dowson D, Wright V. A Total Shoulder Endo-Prosthesis.</para></legend>
<subfigure>
<graphic position="center" fileref="images/9781626233614_c001_f001.jpg"/>
</subfigure>
</figure>
我写过像XSLT一样的
<xsl:template match="subfigure">
<xsl:choose>
<xsl:when test="following-sibling::legend">
<xsl:variable name="a1" select="following-sibling::legend"/>
<xsl:copy-of select="$a1"/>
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
它没有反映正确的输出。你能帮我们解决这个问题。
答案 0 :(得分:0)
您可以使用 XSLT 2.0 :
{{1}}