Subject: [xsl] Re: Replacing values From: David Sinclair <dsinclair@xxxxxxxxxxxx> Date: Tue, 31 Aug 2004 10:20:12 +0100 |
Hi,
I am a relative beginner, so forgive what is probably a very easy question but....
I am trying to write a stylesheet that will replace language descriptions with their iso 639 code. I have a doc containing the language codes of the form:
<languages> <language> <name>English</name> <iso-code>en</iso-code> </language> ... ... </languages>
the source document contains <language> tags with text that matches the name tag in the language document. Here is my attempt:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="languagesDocFilename"/>
<xsl:variable name="languagesDoc" select="document($languagesDocFilename)" />
<xsl:template match="language">
<language>
<xsl:value-of select="$languagesDoc/languages/language[current()=name]"/>
</language>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template> </xsl:stylesheet>
This almost works, but the output contains language tags like this: ... <language> de German </language>
when what I want is :
<language> de </language>
I guess this is because the template that matches on everything is copying the German text, but havent been able to find a way to get it to output only the iso code.
David Sinclair.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Replacing values, David Sinclair | Thread | [xsl] xsi:schemaLocation, Jan Limpens |
RE: [xsl] collapsing number ranges, David . Pawson | Date | Re: [xsl] collapsing number ranges, Bruce D'Arcus |
Month |