RE: [xsl] parse multilanguage XML-file

Subject: RE: [xsl] parse multilanguage XML-file
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx>
Date: Wed, 5 Mar 2003 13:35:05 -0000
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


Current Thread