Subject: RE: Trouble with tables From: Michael.Kay@xxxxxxx Date: Fri, 19 Feb 1999 11:10:41 -0000 |
>I'm now trying to start another set of rows every time I reach four >term/meaning sets, so that I don't send my table off into oblivion. There might be a way using Microsoft' proprietary XSL extensions but if there is then I can't see it. You could solve the problem very easily with <plug>SAXON</plug>. Preprocess the input using a custom Java element handler to add a <GROUP> element around every four terms, as follows: <xsl:template match="*" handler="com.icl.saxon.ElementCopier"> <xsl:template match="TERMS"> <TERMS><GROUP><xsl:apply-templates/></GROUP></TERMS> </xsl:template> <xsl:template match="TERM" handler="com.icl.saxon.NumberHandler"/> <xsl:template match="TERM" handler="GroupsOfFour"/> with the Java class: class GroupsOfFour extends com.icl.saxon.ElementCopier { public void startElement(ElementInfo e) { int i = Integer.parseInt(e.getAttribute("saxon:nr")); if (i>0 && (i%4 == 0)) e.write("</GROUP><GROUP>"); super.startElement(e); }} (Trivia such as exception handling omitted for clarity). Creating your tables from this preprocessed file is then trivial using any XSL processor. Mike Kay SAXON is on http://home.iclweb.com/icl2/mhkay/saxon.html An error-fix release, version 4.01, was posted last night. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Trouble with tables, Richard Lander | Thread | Passing counter value as macro arg., Evan Easton |
RE: Practical XSL, Guy_Murphy | Date | Re: Practical XSL, James Tauber |
Month |