首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSLT For-each in for-each position()

XSLT For-each in for-each position()
EN

Stack Overflow用户
提问于 2014-12-16 03:22:41
回答 1查看 7K关注 0票数 0

我在XSLT的一个职位上遇到了麻烦,我会解释我在做什么。

我有一个for each for each for each,就像这样...

代码语言:javascript
复制
<xsl:for-each select="tagA">
   <xsl:value-of select="position()"/>
       <xsl:for-each select="tagB">
           <xsl:value-of select="position()"/>
       </xsl:for-each>
</xsl:for-each>

编辑1:

XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<main>
<tagA>
<row>
 <info>
 tag A pos one
 </info>
</row>
<row>
 <info>
 tag A pos two
 </info>
</row>
<tagB>
<rowB posB="reference of tag A pos One">
<rowB posB="reference of tag A pos Two">
</tagB>
</main>

XSL:

代码语言:javascript
复制
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/main">
  <xsl:for-each select="tagA">
       <xsl:for-each select="tagB">
           <xsl:if test="//tagA/info = 'tag A pos one'">
             HERE I WANT TAG A POSITION
           </xsl:if>
       </xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

大概是这样,问题是:如何在tagB select中获取"tagA“位置值?

很抱歉我的英语不好,希望你能帮助我。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-12-16 03:26:59

您可以在此处使用变量

代码语言:javascript
复制
<xsl:for-each select="tagA">
   <xsl:variable name="tagAPosition" select="position()"/>
   <xsl:value-of select="$tagAPosition" />
   <xsl:for-each select="tagB">
       <xsl:value-of select="$tagAPosition" />
        <xsl:value-of select="position()"/>
    </xsl:for-each>
</xsl:for-each>

因此,在tagB循环外部和内部,$tagAPosition的值都是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27491528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档