xsl-list
[Top] [All Lists]

RE: xsl formating string

2005-04-05 14:21:50
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>
--~--



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