一、XSL递归结构
当存在同名的后代时,可能出现两个以上同时匹配的后代,其中一个又是另一个的后代。
<html><table><table></table></table></html>这在网页设计中是经常使用的。此时,不做特殊处理,两个后代将分别按照常规处理。模板可以设计如下:
<xsl:template match="html">
<xsl:apply-template select=".//table"/>
</xsl:template>
该模板将处理外层table和内层table元素。
二、多模板并行
当出现上级元素调用子元素时,可以使用多个模板并行的方法来解决。
第一个xsl:template通过xsl:apply-templates的select筛选出name子元素,第二个并行的xsl:template结构中直接使用<xsl:apply-templates/>来显示输出结果。
此外还有