|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: how to match node set with attribute then pass to
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
<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>
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
|
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
|

Cart








