DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26698>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26698

Attribute value template throws RuntimeException

           Summary: Attribute value template throws RuntimeException
           Product: XalanJ2
           Version: CurrentCVS
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Xalan-Xsltc
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


ERROR:  'Namespace for prefix 'foo' has not been declared.'
is emitted but the namespace was declared on the xsl:template element.
-----------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:foo="bar"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:param name="par" select="'foo:abc'" />
<xsl:template match="/">
  <out>
        <xsl:element name="{$par}">test</xsl:element>
  </out>
</xsl:template>
</xsl:stylesheet>
-----------------------------------------------------------

The problem is in org.apache.xalan.xsltc.runtime.BasisLibrary.
The method startXslElement(...) recognizes that the mapping of prefix to URI
is unknown, but it asks the DOM for help.  I think the DOM represents either the
input document or the stylesheet, but in either case the prefix might or
might not be mapped at this point and it is the result-tree that is being 
built that would know the answer to whether the prefix, "foo" in the testcase
maps to a URI.  I'm attaching a patch soon where this method asks the 
SerializationHandler for help.

Thanks to Joanne Tong for pointing out the bug and the testcase.
- Brian Minchau

Reply via email to