xsl-list
[Top] [All Lists]

Re: xsl formating string

2005-04-05 13:30:09
What processor are your using to turn your XML into an FO file and to turn 
your FO file into an output file (PDF?) and what is the exact error 
message?

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)




josh higgins <doopsterus(_at_)yahoo(_dot_)com> 
04/05/2005 02:49 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






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>
--~--



<Prev in Thread] Current Thread [Next in Thread>