Re: [xsl] PARAMS and VARIABLES in XSL

Subject: Re: [xsl] PARAMS and VARIABLES in XSL
From: mark bordelon <markcbordelon@xxxxxxxxx>
Date: Tue, 30 Jan 2007 13:31:58 -0800 (PST)
Quite right. This makes Michaels similar to Daves.
Both work now. 

--- Florent Georges <darkman_spam@xxxxxxxx> wrote:

>   Hi
> 
>   Obviously, Michael meant (note the '{' and '}'):
> 
>     <word soundtime="{
> preceding-sibling::sound[1]/@time }"/>
>       <xsl:value-of select="."/>
>     </word>
> 
>   Regards,
> 
> --drkm
> 
> 
> --- mark bordelon wrote:
> 
> > Dave, thanks for the quick reply. This did not
> work.
> > It transformed to the following using Altova
> version
> > 2007:
> > 
> > <?xml version="1.0" encoding="UTF-8"?><word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>ja<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>ty<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>on<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>my<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>vy<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>oni<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>eto<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>to<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>zdjes`<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>tut<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>tam<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>kto<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>chto<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>gdje<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>kogda<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>kak<word
> >
>
soundtime="preceding-sibling::sound[1]/@time"/>nje<word
> >
> soundtime="preceding-sibling::sound[1]/@time"/>vsje
> > 
> > --- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > 
> > > Looks like
> > > 
> > > <xsl:template match="clause">
> > >   <xsl:apply-templates select="word"/>
> > > </xsl:template>
> > > 
> > > <xsl:template match="word">
> > >   <word
> > > soundtime="preceding-sibling::sound[1]/@time"/>
> > >     <xsl:value-of select="."/>
> > >   </
> > > </
> > > 
> > > Michael Kay
> > > http://www.saxonica.com/ 
> > > 
> > > > -----Original Message-----
> > > > From: mark bordelon
> > > [mailto:markcbordelon@xxxxxxxxx] 
> > > > Sent: 30 January 2007 19:42
> > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > > Subject: [xsl] PARAMS and VARIABLES in XSL
> > > > 
> > > > I need help with the following problem.
> > > > 
> > > > This is the XML is wish to transform:
> > > >  
> > > > <clause>
> > > >  <sound time="1.2">
> > > >  <word>the</word>
> > > >  <word>quick</word>
> > > >  <sound time="2.2">
> > > >  <word>fox</word>
> > > >  <sound time="2.8">
> > > >  <word>jumped</word>
> > > > </clause>
> > > > <clause>
> > > > </clause>
> > > >  
> > > > I need to transform it into the following xml,
> > > where the 
> > > > sound tags time attritubes are soundtime
> > > attributes of the 
> > > > following word tags:
> > > >  
> > > > <clause>
> > > >  <word soundtime="1.2">the</word>
> > > >  <word soundtime="1.2">quick</word>
> > > >  <word soundtime="2.2">fox</word>
> > > >  <word soundtime="2.8">jumped</word>
> > > > </clause>
> > > > <clause>
> > > > </clause>
> > > >  
> > > > Note that the soundtime attribute should not
> > > change if there 
> > > > was no intervening new sound tag. 
> > > >  
> > > > I have tried all sorts of solutions using
> axes, 
> > > > preceding-sibling, but these did not work,
> since
> > > the <word> 
> > > > and <sound> are not true siblings to the
> > > processor, even 
> > > > though they are on the same level of the
> > > hierarchy.
> > > >  
> > > > The solution I would like to work with is the
> > > following, 
> > > > using params to accumulate the soundtime
> variable.
> > > However, 
> > > > even with all the research I have done, I
> cannot
> > > find a 
> > > > solution that the processor does not error on.
> Can
> > > anyone help?
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <xsl:stylesheet version="1.0"
> > > >
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >
> > > 
> > > > <xsl:template match="//clause/*"> <xsl:param
> > > name="soundtime" 
> > > > /> <xsl:if test="local-name() = 'sound'">
> > > <xsl:param 
> > > > name="soundtime" select="@time" /> </xsl:if>
> > > <xsl:if 
> > > > test="local-name() = 'word'"> <word sound =
> > > "{$soundtime}" > 
> > > > <xsl:value-of select="." /> </word> </xsl:if>
> > > </xsl:template> 
> > > > </xsl:stylesheet>
> > > > 
> > > > 
> > > > 
> > > >  
> > > >
> > >
> >
>
______________________________________________________________
> > > > ______________________
> > > > Cheap talk?
> > > > Check out Yahoo! Messenger's low PC-to-Phone
> call
> > > rates.
> > > > http://voice.yahoo.com
> > > 
> > > 
> > 
> 
=== message truncated ===



 
____________________________________________________________________________________
The fish are biting. 
Get more visitors on your site using Yahoo! Search Marketing.
http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php

Current Thread