代码之家  ›  专栏  ›  技术社区  ›  bobber205

Position()和我正在检索的值有问题

  •  0
  • bobber205  · 技术社区  · 14 年前
    <tableLayout>
            <tableColumn width="250"/>
            <tableDivider spaceAfter="0" spaceBefore="0"/>
            <tableColumn/>
            <tableDivider spaceAfter="0" spaceBefore="0"/>
            <tableColumn/>
        </tableLayout>
    

    当使用上述数据选择当前“列”的宽度时(不是我决定这样构造它),我遇到了一些问题。

       <xsl:attribute name="style">
                    <xsl:text>width: </xsl:text>
                    <xsl:value-of select="../../tableLayout/tableColumn[position()]/@width" />
                    <xsl:text>px;</xsl:text>
                </xsl:attribute>
    

    这就是我如何访问我正在构造的列的“当前宽度”。在我看来相当直截了当。如果我把[1]而不是对position的调用,则每列返回250。如果我把[2]或[3]放进去,它什么也不会返回。[4] 会导致错误。

    但当它通过这种方法访问数据时,我每次得到250个。这是我所做的事情有问题还是XSL有问题?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Lucero    14 年前

    这个 position() 与错误的上下文相关(它与 []

    <xsl:variable name="position" select="position()" />
    <xsl:value-of select="../../tableLayout/tableColumn[$position]/@width" />