Xml 如何在XSLT中为标记引用使用大于函数
我有一个XSLT,如下所示:Xml 如何在XSLT中为标记引用使用大于函数,xml,xslt,Xml,Xslt,我有一个XSLT,如下所示: <xsl:if test="PARENT_TAG[1]"> do somthing </xsl:if> <xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"--> do something different </xsl:if> <xsl:
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
<xsl: for-each select="HIGHLEVEL_TAG">
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
</xsl:for-each>
干坏事
现在,我还想对大于1的所有父标记执行其他操作,例如:父标记[2]、父标记[3]、父标记[4]、父标记[5]。。。。。。。。。家长标签[100]
可能是这样的:
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
<xsl: for-each select="HIGHLEVEL_TAG">
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
</xsl:for-each>
做些不同的事情
如何在XSLT中应用此逻辑?请帮忙!
这两个if条件都在顶层逻辑共享同级关系内。像这样:
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
<xsl: for-each select="HIGHLEVEL_TAG">
<xsl:if test="PARENT_TAG[1]">
do somthing
</xsl:if>
<xsl:if test="PARENT_TAG[2-100]"> <!--need some logic here to capture all the parent_tags greater than "1"-->
do something different
</xsl:if>
</xsl:for-each>
干坏事
做些不同的事情
XSLT本身就是XML。它必须遵守XML的语法规则
是XPath中的有效运算符,但如果在XML中使用它们,则它们必须是XML转义运算符
<xsl:if test="$foo > 1"> <!-- translates to '$foo > 1' during parsing of the XSLT document -->
及
回答这个问题的每个人似乎都在以不同的方式阅读您的需求,这表明您的问题的清晰度存在问题 您首先会说“我有一个看起来像这样的XSLT”,但您没有告诉我们它打算做什么,而且因为它可能是错误的,所以我们无法从代码中推断需求 然后,您会说“现在我还想为大于1的所有父标记执行其他操作”。这对我来说意味着第一位代码只用于处理第一个PARENT_标记 如果我的解释是正确的,那么您可能需要:
<xsl:for-each select="PARENT_TAG">
<xsl:choose>
<xsl:when test="position()=1"> do something </xsl:when>
<xsl:otherwise> do something else </xsl:otherwise>
</xsl:choose>
</xsl:for-each>
做点什么
做点别的
如果您不习惯用明确的法律术语编写规范,那么传达您的需求的一个好方法通常是通过一个示例:向我们展示典型的输入和所需的输出。您可以共享输入XML结构吗?在这种情况下,您可能需要使用
、
和
,但如果可以共享输入XML,则也可以提供替代解决方案,即。使用position()
函数等。