xsl-list
[Top] [All Lists]

Re: xsl formating string

2005-04-05 12:49:00
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>
--~--



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