[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xsl formating string

Subject: Re: xsl formating string
From: JBryant@xxxxxxxxx
Date: Tue, 5 Apr 2005 14:34:32 -0500
fo block font style
<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>
> > </xsl:choose>
> > </xsl:template>
> > 
> > If the source document contains the strings and
> > format values in some 
> > other structure, you'll have to adjust, but I hope
> > you get the idea. If 
> > you can't figure it out, post a sample of your
> > source document's 
> > structure.
> > 
> > Jay Bryant
> > Bryant Communication Services
> > (presently consulting at Synergistic Solution
> > Technologies)
> > 
> > 
> > 
> > 
> > josh higgins <doopsterus@xxxxxxxxx> 
> > 04/05/2005 01:06 PM
> > Please respond to
> > xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 
> > 
> > To
> > xsl <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > cc
> > 
> > Subject
> >  xsl formating string
> > 
> > 
> > 
> > 
> > 
> > 
> > I have a xml file that I has strings in it.  I
> want
> > to
> > do so sort of if logic that says if it is "C1"
> > format
> > with blue text if it is "U1" format it with
> > underline.
> >  Then if it is "0" I want to concatenate a .0 on
> the
> > end of that how can that be done?  How can I do
> > these
> > things.  I know that I will probably use an xsl:if
> 
> > but I am not sure what the snytax is with
> comparing
> > strings.  Can someone give me a sample code of how
> > this would be done? Thanks!
> > 
> > Josh
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> > protection around 
> > http://mail.yahoo.com 
> > 
> > 
> 
> 
> 
> __________________________________ 
> Do you Yahoo!? 
> Yahoo! Personals - Better first dates. More second
> dates. 
> http://personals.yahoo.com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.