- From: Stephen Clarke <any@longusername.worldonline.co.uk>
- Date: Wed, 20 Mar 2002 18:17:50 -0000
- To: "Brenda Bell" <bbell@juicesoftware.com>, <www-xsl-fo@w3.org>
Hi Brenda, ----- Original Message ----- From: "Brenda Bell" <bbell@juicesoftware.com> To: <www-xsl-fo@w3.org> Sent: Wednesday, March 20, 2002 4:02 PM Subject: Splitting a stirng > I have an XML document with an element whose content is a string containing > "fields" delimited by semi-colons. Example: > > <PACKEDINFO>123;ABC;0;X</PACKEDINFO> > > I want to transform this element into something that looks like this: > > <UNPACKEDINFO> > <INFO1>123</INFO1> > <INFO2>ABC</INFO2> > <INFO3>0</INFO3> > <INFO4>X</INFO4> > </UNPACKEDINFO> > > Can I do this with XSL? I'm familiar with the substring functions and while > I've never used them, I've read the documentation on the param and variable > elements. > > If I were doing this in a programming language like VB, I'd set a variable > to the contents of <PACKEDINFO>, pop off the part before the first > semi-colon, create my new element and remove the text up to and including > the first semi-colon from the string setting me up for my next iteration. > > Any comments on how I can do this with XSL would be greatly appreciated. I > guess my biggest question is whether I should use a param or variable -- I'm > having difficulty distinguishing between them -- and whether I can change a > param or variable's value by simply declaring it again. I'm very confused. > > > funny , i was just reading about substring today. maybe this will give you some clue. Have you tried anything like this? 123 = substring-before( /top/node, ";" ) ABC = substring-before( substring-after( /top/padkedinfo, ";" ), ";" ) eg. <unpackedinfo> <info1><xsl:value-of select="substring-before( /top/packedinfo, ';' )"/><info1> ... could be wrong i'm just a beginner. -- Best, Steve
Received on Wednesday, 20 March 2002 13:18:02 UTC