我输入xml,其中有表格和注释标签。我需要显示表格标签之间的注释。笔记也可以来自不同的地方。我已经在表之前使用了应用模板,因此它在表本身之前应用了所有的注释。我需要显示节点标签,如果它进入表之间就是这样。
INPUT:
enter code here
<step>
<note>..</note>
<para>..</para>
<table>
..
..
</table>
<note>...</note>
<table>
..
..
</table>
<table>
..
..
</table>
<note>...</note>
<text>...</text>
</step>
enter code here
<fc:topic>
<fc:subTask id="S0EC0A941" lbl="E.">
<fc:para>..</fc:para>
<fc:text>...</fc:text>
<fc:note>..</fc:note>
<fc:table>
..
..
</fc:table>
<fc:note>...</fc:note>
<fc:table>
..
..
</fc:table>
<fc:table>
..
..
</fc:table>
<fc:note>...</fc:note>
</fc:subTask>
</fc:topic>
XSLT是这样的:
<xsl:template match="step">
<fc:topic>
<fc:subTask>
<xsl:if test="@id">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="lbl"><xsl:number format="A."/></xsl:attribute>
<xsl:apply-templates select="para"/>
<xsl:apply-templates select="text"/>
<xsl:apply-templates select="note"/>
<xsl:apply-templates select="table"/>
</fc:subTask>
</fc:topic>
</xsl:template>
但这适用于所有表格和笔记。需要更改XSLT以显示表之间的注释,仅显示在该位置。如果笔记在桌子之后或在桌子之前,那么它应该仅在那里。如果它来到任何其他地方那么它可以在文本之后出现。
由于