Subject: Re: Sibling or Node manipulation
From: siarom egrub <egrubs@xxxxxxxxx>
Date: Tue, 27 Sep 2005 15:50:03 -0700 (PDT)
|
Hey Jay,
Thank you and sorry for the private reply!
S.E.
--- JBryant@xxxxxxxxx wrote:
> Siarom sent me a private follow-up to ask me how to
> go about creating that
> table. I then replied in private. Since then, I have
> thought of a better
> solution (that one was more verbose and required a
> node-set extension or
> XSLT 2.0). And this time, I remembered to send my
> reply to the list, so
> that it can get into the archives.
>
> Here's my better solution:
>
> <xsl:template match="customersRepInfo">
> <fo:block><xsl:value-of
> select="criLine[1]"/></fo:block>
> <fo:table table-layout="fixed">
> <fo:table-column column-width="3in"/>
> <fo:table-column column-width="3in"/>
> <fo:table-body>
> <fo:table-row>
> <fo:table-cell>
> <fo:block><xsl:value-of
> select="criLine[3]"/></fo:block>
> </fo:table-cell>
> <fo:table-cell>
> <fo:block><xsl:value-of
> select="criLine[2]"/></fo:block>
> </fo:table-cell>
> </fo:table-row>
> </fo:table-body>
> </fo:table>
> <fo:block><xsl:value-of
> select="criLine[4]"/></fo:block>
> <fo:block><xsl:value-of
> select="criLine[5]"/></fo:block>
> </xsl:template>
>
> Note that this solution relies on the criLine nodes
> always being in the
> same order. If they appear in different orders,
> you'll need to figure out
> how to distinguish a date from a name from a title
> and so on. If you have
> any control over the incoming XML, you'd be much
> better served to give
> each criLine a distinct name.
>
> HTH
>
> Jay Bryant
> Bryant Communication Services
> (presently consulting at Synergistic Solution
> Technologies)
>
>
>
>
> JBryant@xxxxxxxxx
> 09/27/2005 03:21 PM
> Please respond to
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>
>
> To
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> cc
>
> Subject
> Re: Sibling or Node manipulation
>
>
>
>
>
>
> One way is to use a table that has one row and two
> cells, one cell for the
>
> date and one for the "Your Signature" block.
>
> Jay Bryant
> Bryant Communication Services
> (presently consulting at Synergistic Solution
> Technologies)
>
>
>
>
> siarom egrub <egrubs@xxxxxxxxx>
> 09/27/2005 03:04 PM
> Please respond to
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>
>
> To
> Mulberry <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> cc
>
> Subject
> Sibling or Node manipulation
>
>
>
>
>
>
> I have the following XML
>
> <customersRepInfo>
> <criLine>Your Name (Print):</criLine>
> <criLine>Your Signature:</criLine>
> <criLine>Date:</criLine>
> <criLine>Your Job Title:</criLine>
> <criLine>Telephone Number:</criLine>
> </customersRepInfo>
>
> How can I get the "Date:" line to aligned across
> from
> (horizontal to) the "Your Signature:" line my output
> PDF file?
>
> I have this tried
>
> <xsl:template match="customersRepInfo">
> <xsl:for-each select="criLine">
> <fo:block space-before="3mm" font-size="4.8mm">
> <!--xsl:apply-templates/-->
> <xsl:value-of
> select="preceding-sibling::*
> [2]."/> <!--This doesn't display the
> "Telephone Number:" line--->
> <!--<xsl:value-of select="."/>-->
> <!--Displays all
> the lines in same order as XML--->
> <fo:leader leader-length="3in"
> leader-pattern="rule"/>
> </fo:block>
> </xsl:for-each>
> </xsl:template>
>
> but without the solution that I want.
>
>
> Thanks in advance for your help!
>
> ~S.E.
>
>
>
>
> __________________________________
> Yahoo! Mail - PC Magazine Editors' Choice 2005
> http://mail.yahoo.com
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
|