|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: can't get xsl:sort to work
> Expected select attribute or > non empty content not both" but i have a select > attribute. what's wrong with my xsl file. As the error message says: you can't have both a select attribute and content. You have a select attribute select="@entry" and content <tr valign="top"> <td><xsl:value-of select="@id"/></td> <td><xsl:value-of select="@entry"/></td> <td><xsl:variable name="x" select="count(.//xref)"/> <xsl:for-each select=".//xref"> <xsl:value-of select="."/> <xsl:if test="position() < $x"> <br/> </xsl:if> </xsl:for-each> </td> </tr> </xsl:sort> You don't want the body of the for-each to be content of the xsl:sort so make that <xsl:sort select="@entry"/> and remove the line </xsl:sort> Note that you have multiple uses of // which is likely to make this code very inefficient in practice. (Unless your XSLT system does some very extensive automatic rewrites. select="//complexarticle | //simplearticle | //dummyarticle"> means search the whole document to arbitrary depth to find all the elements of that name. Are these elements really arbitrarily deeply nested? Also <xsl:variable name="x" select="count(.//xref)"/> You don't need to find all the xrefs and count them, you can just use last() which is the same number and already calculated. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








