Subject: Re: [xsl] how to match node set with attribute then pass to atemplate From: Biying Huang <biying@xxxxxxxxxxxxxxx> Date: Fri, 26 Sep 2003 15:52:59 -0400 |
Thank you very much. I have never know this before. But I use FOP to generate PDF, it give me an error says: java.lang.RuntimeException: org.apache.fop.apps.FOPException: Currently only Table Rows are supported in table body, header and footer So I have to put <fo:table-row>. In my case, for each Attachment, how can I output its <info> on top of its <filename>, so the output will look like: ...... <table-cell border="solid" starts-row="true"> <block>information for Image5445.jpg</block> </table-cell> <table-cell border="solid"> <block>information for Image5447.jpg</block> </table-cell> <table-cell border="solid" starts-row="true"> <block>Image5445.jpg</block> </table-cell> <table-cell border="solid"> <block>Image5447.jpg</block> </table-cell> ...... Biying "G. Ken Holman" wrote: > At 2003-09-26 12:24 -0400, Biying Huang wrote: > >In PDF output, I am trying to display 2 images side by side and its info > >above each image, but only display images that has the attribute > >showImage="true". > > This is an ideal situation for the cell-based row-grouping strategy in > XSL-FO ... most of my students have never heard of this and only think of > the row-based row-grouping strategy because of their background in HTML. I > see from your attempt that you, too, were trying to work out an answer > using the row-based row-grouping strategy. > > When dealing algorithmically with column counts in XSL-FO, using the > cell-based row-grouping strategy delegates the hard work to the XSL-FO > engine, making the stylesheet very easy. > > The example below works as expected in both Antenna House and RenderX > XSL-FO engines. I increased the size of the data sample to show it working > with more cells. > > I hope this helps. > > ...................... Ken > > T:\Biying>type biying.xml > <AttachmentList> > <Attachment showImage="true"> > <filename>Image5445.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="false"> > <filename>Image5446.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="true"> > <filename>Image5447.jpg</filename> > <info>image information</info> > </Attachment> > <Attachment showImage="false"> > <filename>Image5448.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="true"> > <filename>Image5449.jpg</filename> > <info>image information</info> > </Attachment> > <Attachment showImage="false"> > <filename>Image5450.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="true"> > <filename>Image5451.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="true"> > <filename>Image5452.jpg</filename> > <info>image information</info> > </Attachment> > <Attachment showImage="false"> > <filename>Image5453.jpg</filename> > <info>image information</info> > </Attachment> > > <Attachment showImage="true"> > <filename>Image5454.jpg</filename> > <info>image information</info> > </Attachment> > > </AttachmentList> > > T:\Biying>type biying.xsl > <?xml version="1.0" encoding="iso-8859-1"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns="http://www.w3.org/1999/XSL/Format" > version="1.0"> > > <xsl:output indent="yes"/> > > <xsl:template match="/"> > <root font-family="Times" font-size="20pt"> > > <layout-master-set> > <simple-page-master master-name="frame" > page-height="210mm" page-width="297mm" > margin-top="1cm" margin-bottom="1cm" > margin-left="1cm" margin-right="1cm"> > <region-body region-name="frame-body"/> > </simple-page-master> > </layout-master-set> > > <page-sequence master-reference="frame"> > <flow flow-name="frame-body"> > <block>Test of table columns</block> > <table border="solid"> > <table-body> > <xsl:apply-templates select="/AttachmentList/ > Attachment[@showImage='true']"/> > </table-body> > </table> > </flow> > </page-sequence> > </root> > </xsl:template> > > <xsl:template match="Attachment"> > <table-cell border="solid"> > <xsl:if test="count( preceding-sibling::Attachment[@showImage='true'] ) > mod 2 = 0"> > <xsl:attribute name="starts-row">true</xsl:attribute> > </xsl:if> > <block> > <xsl:value-of select="filename"/> > </block> > </table-cell> > </xsl:template> > > </xsl:stylesheet> > T:\Biying>saxon -o biying.fo biying.xml biying.xsl > > T:\Biying>type biying.fo > <?xml version="1.0" encoding="utf-8"?> > <root xmlns="http://www.w3.org/1999/XSL/Format" font-family="Times" > font-size="20pt"> > <layout-master-set> > <simple-page-master master-name="frame" page-height="210mm" > page-width="297mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" > margin-right="1cm"> > <region-body region-name="frame-body"/> > </simple-page-master> > </layout-master-set> > <page-sequence master-reference="frame"> > <flow flow-name="frame-body"> > <block>Test of table columns</block> > <table border="solid"> > <table-body> > <table-cell border="solid" starts-row="true"> > <block>Image5445.jpg</block> > </table-cell> > <table-cell border="solid"> > <block>Image5447.jpg</block> > </table-cell> > <table-cell border="solid" starts-row="true"> > <block>Image5449.jpg</block> > </table-cell> > <table-cell border="solid"> > <block>Image5451.jpg</block> > </table-cell> > <table-cell border="solid" starts-row="true"> > <block>Image5452.jpg</block> > </table-cell> > <table-cell border="solid"> > <block>Image5454.jpg</block> > </table-cell> > </table-body> > </table> > </flow> > </page-sequence> > </root> > > -- > Next public US delivery: 3-day XSLT/2-day XSL-FO 2003-10-13 > Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-11-?? > Instructor-led on-site corporate, government & user group training > for XSLT and XSL-FO world-wide: please contact us for the details > > G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ > Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) > ISBN 0-13-065196-6 Definitive XSLT and XPath > ISBN 0-13-140374-5 Definitive XSL-FO > ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath > ISBN 1-894049-11-X Practical Formatting Using XSL-FO > Member of the XML Guild of Practitioners: http://XMLGuild.info > Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to match node set wit, G. Ken Holman | Thread | Re: [xsl] how to match node set wit, G. Ken Holman |
[xsl] Parameters query, David Pratt | Date | [xsl] Re: recursive help, Dimitre Novatchev |
Month |