|
Subject: RE: [xsl] Namespace issue when running a Xalan transform through Java From: "Etheridge, Stephen" <stephen.etheridge@xxxxxxxxxx> Date: Fri, 27 Aug 2010 08:46:22 +0100 |
Martin et al
The extra namespace declarations all appear in elements that are in a
different namespace in the source, but which need to end up in the
namespace www.logica.com/project and are transformed by the following
extract of a stylesheet:
<xsl:template match="*" mode="copy">
<xsl:variable name="element-name"
select="local-name()"></xsl:variable>
<xsl:choose>
<xsl:when test="contains($element-name,
'List')">
<xsl:call-template
name="process-lists"></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:element
name="{local-name()}" namespace="http://www.logica.com/project">
<xsl:apply-templates
mode="copy"></xsl:apply-templates>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="process-lists">
<xsl:variable name="element-name"
select="local-name()"></xsl:variable>
<xsl:element name="{$element-name}"
namespace="http://www.logica.com/pnd"><xsl:value-of
select="./dip:N"/></xsl:element>
<xsl:variable name="local-element-val"><xsl:value-of
select="$element-name"/><xsl:text>LocalVal</xsl:text></xsl:variable>
<xsl:element name="{$local-element-val}"
namespace="http://www.logica.com/project"><xsl:value-of
select="./dip:NP"/></xsl:element>
</xsl:template>
The namespace addition to the <xsl:element> processing is not reproduced
by XSLTProc or Xalan via the command line, only in the default javax
implementation.
Kind regards
Stephen
-----Original Message-----
From: Martin Honnen [mailto:Martin.Honnen@xxxxxx]
Sent: 26 August 2010 17:25
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Namespace issue when running a Xalan transform
through Java
Etheridge, Stephen wrote:
> The XSL and XML are very large and on a separate network so I would
have
> some trouble supplying even minimal versions.
>
> However the XML is of the form:
>
> <RecordBatch>
> <BatchHeader/>
> <RecordMessage>
> <RecordHeader/>
> <Record/>
> </RecordMessage>
> </RecordBatch>
>
> The namespaces are all appearing in the child elements of <Record>
Sorry, but to tell you whether the issue is with the stylesheet or with
the XSLT processor you use we need to see XSLT code.
Or, as already suggested, run a different Java XSLT processor (Saxon
implements the JAXP interfaces) to compare the results.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
Please help Logica to respect the environment by not printing this email /
Pour contribuer comme Logica au respect de l'environnement, merci de ne pas
imprimer ce mail / Bitte drucken Sie diese Nachricht nicht aus und helfen Sie
so Logica dabei, die Umwelt zu sch|tzen. / Por favor ajude a Logica a
respeitar o ambiente nao imprimindo este correio electronico.
This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an intended
recipient then please promptly delete this e-mail and any attachment and all
copies and inform the sender. Thank you.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Namespace issue when runn, Martin Honnen | Thread | Re: [xsl] Namespace issue when runn, Martin Honnen |
| Re: [xsl] Good quality XSLT course , pankaj . c | Date | Re: [xsl] Best way of testing Hexad, Michael Kay |
| Month |