xsl-list
[Top] [All Lists]

[xsl] Find the next item in a sequence

2020-05-03 10:51:24
Hi All,

 

This is related to my previous question about a line-break algorithm. In my
tokenized list, I want to "look-ahead" to the next member of the list. I
tried .[position()+1] but this doesn't work. Do I need to set the
tokenize($input) to a variable first? Thank you.

 

Rick

 

        <xsl:iterate select="tokenize($input)">

            <xsl:param name="line-length" select="0"/>

            <xsl:param name="break-count" select="$break-count"/>

            <xsl:message select="."/>

            <xsl:message select="position()=last()"/>

            <xsl:choose>

                <xsl:when test="$line-length gt $break-count">

                    <break/>

                    <xsl:value-of select="concat(.,if(position()!=last())
then ' ' else '')"/>

                    <xsl:next-iteration>

                        <xsl:with-param name="line-length"
select="string-length(.) + 1"/>

                        <xsl:with-param name="break-count"
select="$break-count - 5"/>

                    </xsl:next-iteration>

                </xsl:when>

                <xsl:otherwise>

                    <xsl:value-of select="concat(.,if(position()!=last())
then ' ' else '')"/>

                    <xsl:next-iteration>

                        <xsl:with-param name="line-length"
select="$line-length + string-length(.) + 1"/>

                        <xsl:with-param name="break-count"
select="$break-count"/>

                    </xsl:next-iteration>

                </xsl:otherwise>

            </xsl:choose>

        </xsl:iterate>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>