Subject: Re: xsl formating string
From: josh higgins <doopsterus@xxxxxxxxx>
Date: Tue, 5 Apr 2005 12:49:00 -0700 (PDT)
|
am I not allowed to have fo blocks inside the when
blocks b/c it always yells at me and tells me that I
am not allowed to have a fo block in that section of
the code.
--- JBryant@xxxxxxxxx wrote:
> <span> is an HTML element. I didn't realize you were
> writing FO.
> <fo:inline> is the FO equivalent of <span>, more or
> less. In your case,
> you can put the styling information on the blocks,
> as you have done.
>
> To get this to work, you need to use a relative path
> identifier rather
> than the absolute path from the root. So, you need:
>
> <xsl:template name="detail">
> <xsl:for-each select="/invoice/detail/row">
> <fo:block font-size="8pt" >
> <xsl:apply-templates
> select="transaction_detail"/>
> <xsl:value-of select="amount"/>
> </fo:block>
> </xsl:for-each>
> </xsl:template>
>
> <xsl:template match="transaction_detail">
> <xsl:choose>
> <xsl:when test="../format_control='C1'"/>
> <fo:block color="blue">
> <xsl:value-of select="."/>
> </fo:block>
> </xsl:when>
> <xsl:when test="../format_control='U1'"/>
> <fo:block font-style="underline">
> <xsl:value-of select="."/>
> </fo:block>
> </xsl:when>
> </xsl:choose>
> </xsl:template>
>
> You also had </xsl:choose> in place of the last
> </xsl:when>. Your XML
> parser should have complained about that.
>
> Jay Bryant
> Bryant Communication Services
> (presently consulting at Synergistic Solution
> Technologies)
>
>
>
>
> josh higgins <doopsterus@xxxxxxxxx>
> 04/05/2005 02:12 PM
> Please respond to
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>
>
> To
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> cc
>
> Subject
> Re: xsl formating string
>
>
>
>
>
>
> Ok, I have come up with the following code but it
> does
> not like it. Does not like the fo:block in the
> choose. I tried to add the <span> </span> block but
> it didn't like that either. Said it was no allowed
> there. Ideas?
>
>
>
> <xsl:template name="detail">
> <xsl:for-each
> select="/invoice/detail/row">
> <fo:block
> font-size="8pt" >
>
> <xsl:apply-templates
> select="transaction_detail"/>
> <xsl:value-of select="amount"/>
> </fo:block>
> </xsl:for-each>
> </xsl:template>
>
> <xsl:template match="transaction_detail">
> <xsl:choose>
> <xsl:when
> test="/invoice/detail/row/format_control='C1'"/>
>
> <fo:block color="blue">
> <xsl:value-of select="."/>
>
> </fo:block>
> </xsl:when>
> <xsl:when
> test="/invoice/detail/row/format_control='U1'"/>
>
> <fo:block
> font-style="underline">
> <xsl:value-of select="."/>
>
> </fo:block>
> </xsl:choose>
> </xsl:choose>
> </xsl:template>
>
>
>
> --- JBryant@xxxxxxxxx wrote:
>
> > Ah, so. In that case:
> >
> > <xsl:template match="transaction_detail">
> > <xsl:choose>
> > <xsl:when test="../format_control='C1'">
> > <!-- Apply the C1 format -->
> > </xsl:when>
> > <xsl:when test="../format_control='.0'">
> > <!-- Apply the .0 format -->
> > </xsl:when>
> > <!-- and so on -->
> > </xsl:choose>
> > </xsl:template>
> >
> > Jay Bryant
> > Bryant Communication Services
> > (presently consulting at Synergistic Solution
> > Technologies)
> >
> >
> >
> >
> > josh higgins <doopsterus@xxxxxxxxx>
> > 04/05/2005 01:44 PM
> > Please respond to
> > xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >
> >
> > To
> > xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > cc
> >
> > Subject
> > Re: xsl formating string
> >
> >
> >
> >
> >
> >
> > Sorry my xml is not like that... Here is a sample
> of
> > my xml
> >
> > <row>
> > <line_sequence>3</line_sequence>
> >
> > <transaction_detail>
> > Transaction
> > Activity</transaction_detail>
> > <format_control>C1</format_control>
> >
> > <group_no>1</group_no>
> > </row>
> >
> > format_control determines the format of
> > transaction_detail
> >
> >
> > --- JBryant@xxxxxxxxx wrote:
> > > Hi, Josh,
> > >
> > > For the sake of this dicussion, I assume that
> the
> > > strings are contained in
> > > elements and that the elements have format
> > > attributes, thus:
> > > <someElement format="C1">Some
> String</someElement>
> > >
> > > In that case, you can do this:
> > > <xsl:template match="someElement">
> > > <xsl:choose>
> > > <xsl:when test="@format='C1'">
> > > <span style="color:#0000FF"><xsl:value-of
> > > select="."/></span>
> > > </xsl:when>
> > > <xsl:when test="@format='.0'">
> > > <xsl:value-of select="concat(., '.0')"/>
> > > </xsl:when>
> > > <xsl:when test="somethingElse">
> > > And so on...
> > > </xsl:when>
> > > <xsl:otherwise>
> > > <xsl:message>Ruh Roh! No
> > format!</xsl:message>
> > > </xsl:otherwise>
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Yahoo! Personals - Better first dates. More second dates.
http://personals.yahoo.com
|