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(_dot_)Honnen(_at_)gmx(_dot_)de]
Sent: 26 August 2010 17:25
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
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.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--