xsl-list
[Top] [All Lists]

Re: [xsl] how to select elements based on optional container argument

2007-08-21 15:11:15
the following isn't tested and there may be a more elegant solution
but this is probably how I would handle a situation like this:

<xsl:apply-templates match="container">

        <xsl:choose>
                <xsl:when test="@select &gt; 0">
                        <xsl:for-each select="item">
                                <xsl:comment>Same dirty Business</xsl:comment>
                        </xsl:for-each>
                </xsl:when>
                <xsl:otherwise>
                        <xsl:for-each select="item">
                                <xsl:if test="position() &lt;= @select">
                                        <xsl:comment>Do your dirty business 
here</xsl:comment>
                                </xsl:if>
                        </xsl:for-each>
                </xsl:otherwise>
        </xsl:choose>

</xsl:apply-templates>

hope that helps :)

Nick

On 8/21/07, Andreas Kemkes <a5sk4s(_at_)yahoo(_dot_)com> wrote:
XSLT 1.0 is a constraint.

I'm having trouble with a select expression to select the marked elements 
(<!--X-->) in the following XML:

<container select="2">
  <item>...</item><!--X-->
  <item>...</item><!--X-->

  <item>...</item>

</container>
<container>

  <item>...</item><!--X-->

  <item>...</item><!--X-->


  <item>...</item><!--X-->


</container>

<container select="1">

  <item>...</item><!--X-->
  <item>...</item>

  <item>...</item>

  <item>...</item>

</container>

In the case of a no select attribute all items in the container should be in 
the node set.
If there is a attribute select="n", only the first "n" items should be in the 
node set.
The expression needs to work across all containers.

There is the additional constraint that only items with parent container are 
to be selected.


Where could I start to look for code examples that solves a similar problem?

Thanks in advance for your help.




      
____________________________________________________________________________________
Shape Yahoo! in your own image.  Join our Network Research Panel today!   
http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>