[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] stylesheet not work when xmlns exist


Subject: Re: [xsl] stylesheet not work when xmlns exist
From: David Carlisle <davidc@xxxxxxxxx>
Date: Sat, 26 Sep 2009 02:03:16 +0100

> I have no idea why "xmlns" is causing problem here?

you have changed the name of the element from 
Request in no-namespace
to
Request in the namespace http://www.abc.com

as far as XSLT is concerned this has just about identical affect to
changing the element name by (say) adding a new letter at the front.

	<xsl:template match="/Request">

matches Resut in no namespace, it does not match the renamed eleemnt.
To match an element in the namespace http://www.abc.com
put
xmlns:abc="http://www.abc.com"
on to xsl:stylesheet then use
	<xsl:template match="/abc:Request">


Your template is _very_ verbose

	<xsl:for-each select="@*">
	<xsl:if test="name(.)='System'">
		<attr n="{name(.)}">
		<xsl:element name="val">
			<xsl:attribute name="s">
				<xsl:value-of select="normalize-space(.)"/>
			</xsl:attribute>
		</xsl:element>
		</attr>
	</xsl:if>
	</xsl:for-each>


is

<attr n="{@name()}"><val s="normalize-space(.)"/></attr>

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________


Current Thread
Keywords