This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: splitting the date field in xml


Hi Jim,

The substring() stuff will work fine, but you might find it easier to
use substring-before() and substring-after() to deal with the fact the
dates might change length - even if they change length, they'll still
be space-separated.  So instead of:

> <xsl:choose>
>         <xsl:when test="substring(Date, 10, 1) = ' '">
>                 <xsl:value-of select="substring(Date, 5, 4)" 
/>><xsl:value-of select="substring(Date, 9, 2)" /> <xsl:value-of 
> select="substring(Date, (string-length(Date) - 3), 4)" />
>         </xsl:when>
>         <xsl:otherwise>
>                 <xsl:value-of select="substring(Date, 5, 4)" 
/>><xsl:value-of select="substring(Date, 9, 3)" /> <xsl:value-of 
> select="substring(Date, (string-length(Date) - 3), 4)" />
>         </xsl:otherwise>
> </xsl:choose>

You could use:

   <xsl:value-of
      select="substring-before(substring-after(Date, ' '), ' ')" />
   <xsl:text> </xsl:text>
   <xsl:value-of
      select="substring-before(
                 substring-after(
                    substring-after(Date, ' '), ' '), ' ')" />
   <xsl:text> </xsl:text>
   <xsl:value-of
      select="substring(Date, string-length(Date) - 3, 4)" />

Oh, and remember that you need those xsl:text elements to put spaces
in between the various bits, otherwise it'll all get squished
together.
                    
I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]