[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Parsing text nodes
Subject: Re: [xsl] Parsing text nodes From: Mike Moran <Mike.Moran@xxxxxxxxxxx> Date: Tue, 23 Jan 2001 13:41:14 +0000 |
Martynas Lelevicius wrote: > > Hi, > > I have such XML document: > > <rootNode> > <line> > <coords>73, 49; 203, 117;</coords> > </line> > <line> > <coords>0, 0; 25, 60; 25, 120; 203, 120;</coords> > </line> > <line> > <coords>73, 30; 235, 30; 235, 107;</coords> > </line> > </rootNode> > > How can I process each (and all) pairs of coordinates? Coordinates are > separated with semicolo and number of pairs in line can vary. > ... > <xsl:for-each select="/rootNode/line"> > <!-- What should go here to process line coordinates --> > </xsl:for-each> I would use co-recursive templates on the text nodes and substring-before. Something like this: <xsl:template name="left"> <xsl:param name="sofar"/> <xsl:text>(</xsl:text> <xsl:value-of select="substring-before($sofar, ',')"/> <xsl:call-template name="right"> <xsl:with-param name="sofar" select="substring-after($sofar, ',')"/> </xsl:call-template> </xsl:template> <xsl:template name="right"> <xsl:param name="sofar"/> <xsl:value-of select="substring-before($sofar, ';')"/> <xsl:text>)</xsl:text> <xsl:call-template name="left"> <xsl:with-param name="sofar" select="substring-after($sofar, ';')"/> </xsl:call-template> </xsl:template> The syntax is probably a bit wrong, and you'd need to put in a terminating condition, but I hope you get the idea. You would call the left template first with the text() as the "sofar" paramater. -- Mike.Moran@xxxxxxxxxxx Web: http://houseofmoran.com/ AvantGo: http://houseofmoran.com/Lite/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Parsing text nodes, Sebastian Rahtz | Thread | [xsl] XML tag translation problem, Snyder, Christopher |
Re: [xsl] Parsing text nodes, Sebastian Rahtz | Date | RE: [xsl] Aelfred (SAX2) Support, Michael Kay |
Month |
Keywords