是否可以使用XSL删除h#系列号
使用as:
输入XML <table>
<tbody>
<tr>
<td>
<h2>
<img src="https://admin.com" />
</h2>
</td>
<td>
<h3>
<img src="https://admin.com" />
</h3>
</td>
<td>
<h4>
<img src="https://admin.com" />
</h4>
</td>
</tr>
</tbody>
</table>
XSL我用作:
<xsl:template match="table/tbody/tr/td/h2[img]">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="table/tbody/tr/td/h3[img]">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="table/tbody/tr/td/h4[img]">
<xsl:apply-templates/>
</xsl:template>
就像在所有输入中一样,h#可以在表格中使用。是否可以编写单个模板以从表中删除所有h1 h2 h3 ....... h系列?
答案 0 :(得分:1)
您可以在示例模板中使用多个pattern,例如<xsl:template match="table/tbody/tr/td/h2[img] | table/tbody/tr/td/h3[img] | table/tbody/tr/td/h4[img]"><xsl:apply-templates/></xsl:template>
。
我不建议使用正则表达式,如果你想缩短模式然后做
<xsl:template match="table/tbody/tr/td/*[(self::h1 | self::h2 | self::h3 | self::h4 | self::h5 | self::h6) and img]">
<xsl:apply-templates/>
</xsl:template>