Re: [xsl] parse multilanguage XML-file

Subject: Re: [xsl] parse multilanguage XML-file
From: jm <mailinglist@xxxxxxxxxxxxxx>
Date: Wed, 5 Mar 2003 15:26:46 +0100
many thanks

it works fine

cheers,
jm

On Wed, 5 Mar 2003 13:35:05 -0000
"Andrew Welch" <AWelch@xxxxxxxxxxxxxxx> wrote:

> 
> Hi,
> 
> I'm guessing (without seeing the whole stylesheet), but I think because you dont have a template to match the root, the default template is being applied and will therefore apply-templates to both <lang> elements (eventually) - which fires the template matching <section> when you dont expect it to.
> 
> To only apply-templates to the <lang> of your choice, add a template matching the root and apply-templates specifically to that element:
> 
> <xsl:template match="/">
>   <xsl:apply-tempaltes select="/page/pagecontent/lang[@name='de']"/>
> </xsl:template>
> 
> 
> cheers
> andrew
> 
> > -----Original Message-----
> > From: jm [mailto:mailinglist@xxxxxxxxxxxxxx]
> > Sent: 05 March 2003 13:23
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] parse multilanguage XML-file
> > 
> > 
> > hi,
> > 
> > i have problems parsing my multilanguage XML file.
> > 
> > here is a short outline of the XML file:
> > 
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <page>
> > <pagecontent>
> > 	<lang name="de">
> > 		<section>
> > 			......
> > 			<!--
> > 				here comes for example the 
> > complete german content of
> > 				this file
> > 			-->
> > 
> > 		</section>
> > 	</lang>
> > 
> > 	<lang name="en">
> > 		<section>
> > 			......
> > 		</section>
> > 	</lang>
> > </pagecontent>
> > </page>
> > 
> > 
> > now i want to match _only_ on of the language parts
> > 
> > so my first tamplate-match is 
> > 
> > <xsl:template match="/page/pagecontent/lang[@name='de']">
> >   <html>
> >   	<body>
> > 		      <xsl:apply-templates/>    <----------------+
> > 	</body>							
> > 	   |
> >   </html>							
> > 	     |
> >   </xsl:template>						
> > 	  |
> > 								
> > 		|
> > how can apply my following tamplates only on child-nodes of  
> > /page/pagecontent/lang[@name='de']
> > and _ignore_ all other language-nodes.
> > 
> > one of the folowing templates is
> > 
> > <xsl:template match="section">
> > 		<xsl:value-of select="@title"/>
> > 		<hr/>
> >   		...
> > </xsl:template>
> > 
> > and i want to apply this template only on child-nodes of the 
> > chosen language-node.
> > 
> > thanks
> > jm
> > 
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> > 
> > 
> > 
> > 
> > 
> > ---
> > Incoming mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.458 / Virus Database: 257 - Release Date: 24/02/2003
> >  
> > 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.458 / Virus Database: 257 - Release Date: 24/02/2003
>  
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread