xsl-list
[Top] [All Lists]

Re: Sorting problem in xsl

2005-04-11 03:42:55

      <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(_at_)x1,'inch'))"/>
<xsl:sort order="ascending" data-type="number"
select="substring-before(@svg:y|svg(_at_)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
________________________________________________________________________

--~------------------------------------------------------------------
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>