Hi, I tried to reproduce the problem with the following test case and using Xalan Java 2.7.0 but could not. What level of Xalan are you using (to determine the version enter 'java org.apache.xalan.Version' from the command line)? Could you provide a complete stylesheet and sample input document that demonstrates the problem?
Thanks. Stylesheet: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:buytypes="http://ws.fedbid.com/2007/06/buyservice" xmlns:mod="http://ws.fedbid.com/2007/06/model" exclude-result-prefixes="buytypes mod" version="1.0"> <xsl:template match='/order'> <out> <xsl:choose> <xsl:when test="postLiveBuyRequest/buytypes:liveBuy/buytypes:category"> <xsl:call-template name="setCategory"> <xsl:with-param name="cat" select="postLiveBuyRequest/buytypes:liveBuy/buytypes:category/mod:catName"/> </xsl:call-template> </xsl:when> </xsl:choose> </out> </xsl:template> <xsl:template name="setCategory"> <xsl:param name="cat"/> <xsl:element name="buybiz:b2bCatName" namespace="http://buybiz.org"> <xsl:value-of select="$cat" /> </xsl:element> </xsl:template> </xsl:stylesheet> Sample input document: <?xml version="1.0"?> <order xmlns:mod="http://ws.fedbid.com/2007/06/model"> <postLiveBuyRequest> <liveBuy xmlns="http://ws.fedbid.com/2007/06/buyservice"> <category> <mod:catName>#19882</mod:catName> </category> </liveBuy> </postLiveBuyRequest> </order> Output using Xalan-J 2.7.0 (output the same whether using interpreter or compiler (XSLTC)): <?xml version="1.0" encoding="UTF-8"?><out><buybiz:b2bCatName xmlns:buybiz="http://buybiz.org">#19882</buybiz:b2bCatName></out> Erin Harris laxman <[EMAIL PROTECTED]> 06/07/2007 11:41 AM To xalan-j-users@xml.apache.org cc Subject Problem evaluating xpath with muliple prefix with different namespace Hi, I have been trying run XSL tranformation for elements defined in multiple schema and each having its prefix and namespace. My xsl looks like this <xsl:choose> <xsl:when test="postLiveBuyRequest/buytypes:liveBuy/buytypes:category"> <xsl:call-template name="setCategory"> <xsl:with-param name="cat" select="postLiveBuyRequest/buytypes:liveBuy/buytypes:category/mod:catName"/> </xsl:call-template> </xsl:when> </xsl:choose> the namespace for buytypes and mod are xmlns:buytypes="http://ws.fedbid.com/2007/06/buyservice" xmlns:mod="http://ws.fedbid.com/2007/06/model" defined in the xsl. <xsl:template name="setCategory"> <xsl:param name="cat"/> <xsl:element name="buybiz:b2bCatName" namespace="{$bizServiceNameSpace}"> <xsl:value-of select="$cat" /> </xsl:element> </xsl:template> the problem here is that in am not getting the value in b2bCatName. Has it got something to do with the xalan implementation of namespacecontext. the funny thing to note is that if i call apply-template and pass upto postLiveBuyRequest/buytypes:liveBuy/buytypes:category then I am able to access the elements using <xsl:value-of select="mod:catName"/> with category in the current context. In my view the first method should work fine also. The problem with the first method in my view is that xalan is not able to evaluate multiple prefixes. Any help regarding this issue is greatly appreciated. Thanks -- View this message in context: http://www.nabble.com/Problem-evaluating-xpath-with-muliple-prefix-with-different-namespace-tf4036498.html#a11467559 Sent from the Xalan - J - Users mailing list archive at Nabble.com.