Subject: RE: [xsl] can't conditionally format first occurence of a node From: jeremy <jeremy_march@xxxxxxxxxxx> Date: Sat, 25 Jun 2005 20:12:18 -0400 |
Thanks for your reply. Here's an input sample and two stylesheets which don't quite work. Sample xml: <?xml version="1.0" encoding="utf-8"?> <TEI.2> <text> <body> <entryFree> <otherstuff1>stuff1</otherstuff1> <otherstuff2>stuff2</otherstuff2> <otherstuff3>stuff3</otherstuff3> <sense n="1">blah1</sense> <sense n="2">blah2</sense> <sense n="3">blah3</sense> </entryFree> </body> </text> </TEI.2> This stylesheet puts the <br />'s in the wrong place (not before the first <sense>. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="sense"> <xsl:if test="position()=1"> <br /><br /><br /> </xsl:if> <br /><div><b><xsl:value-of select="@n"/></b>. <xsl:apply-templates /></div> </xsl:template> </xsl:stylesheet> This stylsheet puts the <br />'s in the right place but doesn't include the "otherstuff" content. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="entryFree"> <xsl:apply-templates select="orth" /> <xsl:for-each select="sense"> <xsl:if test="position()=1"> <br /><br /><br /> </xsl:if> <br /><div><b><xsl:value-of select="@n"/></b>. <xsl:apply-templates /></div> </xsl:for-each> </xsl:template> </xsl:stylesheet> On Sun, 2005-06-26 at 02:57 +0000, Aron Bock wrote: > Jeremy, > > You had the right idea with position() -- the first <sense> in the doc would > be position() = 1. If you mean something else, please post a small input > sample. > > > > ><xsl:variable name="first" select="1" /> > ><xsl:template match="sense"> > ><xsl:if test"$first=1"> > ><br /> > ><xsl:variable name="first" select="0" /> > ></xsl:if> > ><div><xsl:apply-templates /></div> > ></template> > > > > This doesn't work in XSL -- variables can't change their value once set. > They're "variables" in the sense of mathematical variables which have a > specific, non-changing value throughout a computation, rather being > variables in the sense of imperative laguage variables that can have a > different value at different points of a computation. > > --A > > _________________________________________________________________ > Dont just search. Find. Check out the new MSN Search! > http://search.msn.click-url.com/go/onm00200636ave/direct/01/
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] can't conditionally forma, Aron Bock | Thread | RE: [xsl] can't conditionally forma, Aron Bock |
[xsl] can't conditionally format fi, jeremy | Date | RE: [xsl] can't conditionally forma, jeremy |
Month |