Subject: Variables within templates From: Denis.Avdonine@xxxxxxxxxxxxxxx Date: Thu, 14 Oct 1999 15:38:35 +0100 |
Folks, I have the following XML and XSL files (see below). When I try to apply the stylesheet to XML file using XT, I receive the following error: file:invoices.xsl:14: variable "language" not defined In section 11.5 of XSLT recommendation (8-Oct-1999) I read the following: === cut here === As well as being allowed at the top-level, both xsl:variable and xsl:param are also allowed in templates. xsl:variable is allowed anywhere within a template that an instruction is allowed. In this case, the binding is visible for all following siblings and their descendants. <...> === cut here === So, if a variable should be visible "for all following siblings and their descendants." why I am getting the error? === begin: XML file === <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="invoices.xsl"?> <invoices> <translations> <invoice_no xml:lang="en">Invoice No</invoice_no> <invoice_no xml:lang="fr">Numero de facture</invoice_no> </translations> <invoice xml:lang="en"> <invoice_number>1234</invoice_number> </invoice> <invoice xml:lang="fr"> <invoice_number>4567</invoice_number> </invoice> </invoices> === end: XML file === === begin: XSL file === <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" /> <xsl:template match="/"> <xsl:for-each select="invoices/invoice"> <xsl:variable name="language" select="@xml:lang" /> <xsl:apply-templates /> </xsl:for-each> </xsl:template> <xsl:template match="invoice_number"> <xsl:value-of select="/invoices/translations/invoice_no[@xml:lang=$language]" /> : <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet> === end: XSL file === By the way, maybe some can propose a better way of substituting translations? Thank you. Denis. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: External Processing, Garriss Jr.,James P. | Thread | Re: Variables within templates, David Carlisle |
RE: XSL Syntax, Jim Holmes | Date | Re: Nostradamus (was Re: FO. lists , Simon St.Laurent |
Month |