Subject: RE: [xsl] Q - Parsing & Manipulating Strings from XSL From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 29 May 2005 15:19:05 +0100 |
> A soap response contains a complex hierarchy of data, in which, if > the departure time is 00:45 hours then it is represented as 45 ! To > make matters worse, the schema defines it as a string. I have no > influence over the schema since I'm querying a webservice. So I need > to pad that 45 with 0s and of course add that colon. Is there a way I > can do that in XSL ? Of course, but first one needs to know how other times are represented. Is 01:30 represented as "01:30", as "0130", as "90", or in some other way? And is 00:05 represented as "5" or as "05"? > > Furthermore, in the same repsonse, I have a string of the format > YYYYNYY [chars may be either Y or N], also respresented as a free > format string. This represents the days of the week starting from > Sunday... Now I need to take each char, and replace it with a <TD > color="green">S</TD> if it is Y, and <TD>S</TD> if it is N. > > Anyway I can do that in XSL ? > Sure. In XSLT 2.0 do <xsl:for-each select="1 to 7"> <TD> <xsl:if test="substring($in, ., 1) = 'Y'"> <xsl:attribute name="color">green</xsl:attribute> </xsl:if> <xsl:text>S</xsl:text> </TD> </xsl:if> In 1.0 the simplest solution is probably simply to unfold the loop, i.e. repeat the content of the above for-each loop seven times changing the second argument of substring() each time. Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Q - Parsing & Manipulating St, Ahsan Ali | Thread | Re: [xsl] Q - Parsing & Manipulatin, Ahsan Ali |
RE: [xsl] Cannot spot the error in , Frequent Fliers | Date | Re: [xsl] Cannot spot the error in , Bruce D'Arcus |
Month |