Re: Sorting problem in xsl
> <xsl:when test="name()='draw:control'"> don't use name there, use <xsl:when test="self::draw:control"> which is namespace aware and generally nicer. Although in this case the xsl:choose construct looks very odd, it seems to be implementing apply-templates why not just have <xsl:template name="draw:text-box"> <Box> <xsl:apply-tempaltes select="*"> </xsl:apply-templates> </Box> </xsl:template> and then replace <xsl:template name="draw:control'"> by <xsl:template match="draw:control'"> ?? <xsl:sort order="ascending" select="number(substring-before(./@svg:y,'inch'))"/> here the number() function is not doing anything very much (it is just stripping leading zeros) it is converting the string to a number but the xsl:sort will convert that number back to a string and do a textual lexicographic comparison. You don't want number() but you do want to add data-type="number" to your xsl:sort elements to get numeric comparisons. > How to do sort for x and x1, y and y1 ? <xsl:sort order="ascending" data-type="number" select="substring-before(@svg:x|svg@x1,'inch'))"/> <xsl:sort order="ascending" data-type="number" select="substring-before(@svg:y|svg@y1,'inch'))"/> ^^^^^^^ 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