[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Q - Parsing & Manipulating Strings from XSL
Dear Michael, Thanks for your quick & helpful reply. To answer your question: If the time is 12:45 it is returned as 1245. If it is 01:50 it is returned as 150 If it is 00:45 it is returned 45 if it is 00:04 it is returned as 4 ! So that's why I want to pad the beginning of string with 0s until its length is 4. Its a strange way to do it, but as I said, I have to make the best of it. Also, I'm sorry to say I'm not very familiar with XQuery... what does $in have to be replaced with ? I'm getting an error.. FYI, the data is given as <JrnyTm>150</JrnyTm> Best Regards, Ahsan On 5/29/05, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > 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/
|
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
|