标签标题上的XSLTT IF

标签标题上的XSLTT IF,xslt,Xslt,我正在处理一个XSLT文件,遇到了一个障碍。我有一个例子,一个标签可以有两个不同的子标签。例如: <TAG> <PERSON1/> <TAG> 及 有没有办法在标签上写一个XLS:IF语句,看看它的名字是“PERSON1”还是“PERSON2”,因为PERSON1和PERSON2需要以完全不同的方式处理 谢谢。我认为您不需要if,您可以使用xsl:apply模板,所以类似以下内容: <xsl:template match="TAG">

我正在处理一个XSLT文件,遇到了一个障碍。我有一个例子,一个标签可以有两个不同的子标签。例如:

<TAG>
 <PERSON1/>
<TAG>


有没有办法在标签上写一个XLS:IF语句,看看它的名字是“PERSON1”还是“PERSON2”,因为PERSON1和PERSON2需要以完全不同的方式处理


谢谢。

我认为您不需要if,您可以使用xsl:apply模板,所以类似以下内容:

<xsl:template match="TAG">
    <!-- Code ... -->
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="PERSON1">
    <!-- Something goes here -->
</xsl:template>

<xsl:template match="PERSON2">
    <!-- Something else goes here -->
</xsl:template>


您最好推荐使用“模式匹配”。但是有一个无限递归的
。应该是
@Alejando。还有
name
应该有
match
的地方。我已经擅自编辑了。如果查询者希望在每种情况下对“TAG”元素本身进行不同的处理,那么他们可以使用
。。。当它更方便时,
仍然是可能的,并且
。。。
<xsl:template match="TAG">
    <!-- Code ... -->
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="PERSON1">
    <!-- Something goes here -->
</xsl:template>

<xsl:template match="PERSON2">
    <!-- Something else goes here -->
</xsl:template>