[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: Brian Chrisman <incubus@xxxxxxxxxxxxxx>
Date: Tue, 5 Apr 2005 12:55:41 -0700
concatenating strings in xsl
On Tue, Apr 05, 2005 at 12:12:44PM -0700, josh higgins wrote:
> 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>

this should be </xsl:when>

your stylesheet should be getting rejected as invalid XML...

> 	</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.