首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果第一行项为2,第二线项为3,则bbb信息显示值应等于qty。

如果第一行项为2,第二线项为3,则bbb信息显示值应等于qty。
EN

Stack Overflow用户
提问于 2022-07-09 07:24:13
回答 1查看 27关注 0票数 0

如果第一行项为2,第二行项为3,则bbb信息显示值应等于qty。如果第一行项为2,第二行项为3,则bbb信息显示值应等于qty。

代码语言:javascript
运行
复制
    If qty is 2 at first line item and 3 at second line item, the values of bbb info displaying should be equals to qty.

预期产出应为: qty 2 bbb 1111 2222 qty 3 bbb 3333 4444 5555

代码语言:javascript
运行
复制
 '''
              <?xml version="1.0" encoding="Windows-1252" standalone="no"?>
<xyz>  
 <ddd>
                <abc> 
                  <!-- First line item -->
                    <aaa qty = "2" />
                </abc>
                <abc>
                   <!-- Second line item -->
                    <aaa qty = "3" />
                </abc>
        </ddd>
                
                 <bbb serial = "1111"/> 
                 <bbb serial = "2222"/> 
                 <bbb serial = "3333"/> 
                 <bbb serial = "4444"/> 
                 <bbb serial = "5555"/>
</xyz>
      
  '''      









'''   
   <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        
        <xsl:template match = "xyz/ddd" >
            <xsl:for-each select="abc">
                <!--<xsl:value-of select="aaa/@qty"/>-->
                <xsl:variable name="loop">
                    <xsl:for-each select="ancestor::xyz/bbb"> 
                        <xsl:value-of select="concat(@serial,',')"/>
                    </xsl:for-each>
                </xsl:variable>
                <xsl:value-of select="$loop"/>
            </xsl:for-each>
        </xsl:template>
        
    </xsl:stylesheet>  
  '''
     




  If qty is 2 at first line item and 3 at second line item, the values of bbb info displaying should equals to qty.
    qty 2 bbb 1111 2222
    qty 3 bbb 3333 4444 5555 
EN

回答 1

Stack Overflow用户

发布于 2022-07-09 17:07:29

您还没有说明您想使用什么技术,但是在XSLT3.0中您可以这样做

代码语言:javascript
运行
复制
<xsl:iterate select="//aaa/@qty">
  <xsl:param name="start" select="1"/>
  <qty count="{.}">
    <xsl:copy-of select="subsequence(//bbb, $start, xs:integer(.))"/>
    <xsl:next-iteration>
      <xsl:with-param name="start" select="xs:integer(.)"/>
    </xsl:next-iteration>
  </qty>
</xsl:iterate>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72919676

复制
相关文章

相似问题

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