My bad on that one. Typing too fast and thinking of my own problem at the
time.
Sorry, Josh
Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies
"Michael Kay" <mike(_at_)saxonica(_dot_)com>
04/05/2005 04:02 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
cc
Subject
RE: [xsl] xsl formating string
Your problem is:
<xsl:when test="../format_control='C1'"/>
^
|
that the xsl:when is an empty element. The fo:block is therefore a direct
child of xsl:choose, which is not allowed.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: josh higgins [mailto:doopsterus(_at_)yahoo(_dot_)com]
Sent: 05 April 2005 20:49
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] xsl formating string
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(_at_)s-s-t(_dot_)com 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(_at_)yahoo(_dot_)com>
04/05/2005 02:12 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc
Subject
Re: [xsl] 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(_at_)s-s-t(_dot_)com 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(_at_)yahoo(_dot_)com>
04/05/2005 01:44 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc
Subject
Re: [xsl] 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(_at_)s-s-t(_dot_)com 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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--