Subject: Re: [xsl] how to match node set with attribute then pass toatemplate From: S Woodside <sbwoodside@xxxxxxxxx> Date: Tue, 30 Sep 2003 03:14:54 -0400 |
Professor Holman:
Thank you very much. It works perfectly for me.
By the way, I am new to XSLT, and not quite understand things like:
<xsl:if test="count( preceding-sibling::Attachment[@showImage='true'] ) mod 2
= 0">
and <xsl:for-each select="following-sibling::Attachment[@showImage='true'][1]">
.......
Which of your books should I read first?
Biying
"G. Ken Holman" wrote:
At 2003-09-26 15:52 -0400, Biying Huang wrote:So I have to put <fo:table-row>.
A revision is below ... act on every second one and then address the one
following.
In my case, for each Attachment, how can I output its <info> on top of its <filename>,
To put the info on top of its filename, put each in separate blocks.
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">
<xsl:if test="count( preceding-sibling::Attachment[@showImage='true'] )
mod 2 = 0">
<table-row>
<table-cell border="solid">
<block><xsl:value-of select="info"/></block>
<block><xsl:value-of select="filename"/></block>
</table-cell>
<xsl:for-each
select="following-sibling::Attachment[@showImage='true'][1]">
<table-cell border="solid">
<block><xsl:value-of select="info"/></block>
<block><xsl:value-of select="filename"/></block>
</table-cell>
</xsl:for-each>
</table-row>
</xsl:if>
</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-row>
<table-cell border="solid">
<block>image information</block>
<block>Image5445.jpg</block>
</table-cell>
<table-cell border="solid">
<block>image information</block>
<block>Image5447.jpg</block>
</table-cell>
</table-row>
<table-row>
<table-cell border="solid">
<block>image information</block>
<block>Image5449.jpg</block>
</table-cell>
<table-cell border="solid">
<block>image information</block>
<block>Image5451.jpg</block>
</table-cell>
</table-row>
<table-row>
<table-cell border="solid">
<block>image information</block>
<block>Image5452.jpg</block>
</table-cell>
<table-cell border="solid">
<block>image information</block>
<block>Image5454.jpg</block>
</table-cell>
</table-row>
</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
-- www.simonwoodside.com :: www.openict.net :: www.semacode.org 99% Devil, 1% Angel
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to match node set wit, G. Ken Holman | Thread | [xsl] <xsl:choose> or variable syn, Kathy Burke |
Re: [xsl] Multiple input files, S Woodside | Date | Re: RE: [xsl] Collating riffled lis, a . kielen |
Month |