就像在另一个问题中一样,我很难用 XSLT1 表达简单的事情......
在xsl:stylesheet我有这种“类似身份”的转换中,将一个属性添加align="center"到一个TD带有其他属性的标签中(必须留在那里)......添加的触发器align是标签中存在一个CENTER标签TD。(稍后标签CENTER将被删除)。
<xsl:template match="@*|node()" name="identity">
<xsl:copy>
<xsl:if test="name()='td' and .//center">
<xsl:attribute name="align">center</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
此代码可以正常工作(xsl:if被忽略)。
需要td//center,不仅td/center没有td/p/center。必须是通用的,对于任何td//center. 输入示例:
<td colspan="2">
<p><center>POF</center></p>
</td>