[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How Handle Html Heading Tag using XSL
Search for "positional grouping". It's a textbook problem. The answer is easy in XSLT 2.0, using <xsl:for-each-group group-starting-with="h2"/>. It's not at all easy in XSLT 1.0 - most solutions involve recursion over the sequence of siblings. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Byomkesh [mailto:bkesh@xxxxxxxxxxxxxxx] > Sent: 27 June 2006 13:38 > To: Mukul Gandhi > Cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: How Handle Html Heading Tag using XSL > > Thank you Mukul for the help! > > I have one problem. How handle the html h1, h2, h3 etc., > coding. I would like to close </h1> tag before start in > another <h1> tag. > > Example... > > Input file > --------- > > <h1>Heading 1</h1> > <p>Some text here</p> > <h2>Heading 2</h2> > <p>Some text here</p> > <h3>Heading 3</h3> > <p>Some text here</p> > <h1>Heading 1</h1> > <p>Some text here</p> > > I want..... > -------- > > <section1> > <title>Heading 1</title> > <p>Some text here</p> > <section2><title>Heading 2</title> > <p>Some text here</p> > <section3><title>Heading 3</title> > <p>Some text here</p> > </section3></section2></section1> > <section1><title>Heading 1</title> > <p>Some text here</p> > ..... > ..... > ..... > > Thanks > > Byomkesh > > > > > ----- Original Message ----- > From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> > To: "Byomkesh" <bkesh@xxxxxxxxxxxxxxx> > Cc: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Tuesday, June 27, 2006 5:15 PM > Subject: Re: How count the Table cell (Cals Table) using XSL > > > > Hi Byomkesh, > > There are some problems in your code. Following corrections are > required: > > > > <xsl:variable name="rtf"> > > <xsl:call-template name="FindMaxStringLength"> > > <xsl:with-param name="n" select="count(//tr[3]/td)" /> > > </xsl:call-template> > > </xsl:variable> > > (in <xsl:template match="table"> ) > > > > and, (please note //. You wrote /) > > > > <xsl:for-each select="//tr[2]/th[$n] | //tr/td[$n]"> > > <xsl:sort select="string-length(.)" order="descending" /> > > <xsl:if test="position() = 1"> > > <xsl:value-of select="string-length(.)" /> > > </xsl:if > > > </xsl:for-each> > > > > With these changes, I get following in the output: > > > > <colgroup> > > <col width="21.74%"/> > > <col width="36.96%"/> > > <col width="41.3%"/> > > </colgroup> > > > > Regards, > > Mukul
|
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
|