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=11390>.
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=11390

NullPointerException when no namespace bound to extension-element-prefix

           Summary: NullPointerException when no namespace bound to
                    extension-element-prefix
           Product: XalanJ2
           Version: 2.4Dx
          Platform: PC
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Xalan
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


A java.lang.NullPointerException is thrown when there is no namespace bound to 
a prefix in the extension-element-prefixes attribute and a namespace other than 
the xmlns:xsl namespace is declared.  My transformation environment is JDK 
1.4.0_01 and org.apache.xalan.xslt.Process on Windows2000.  According to 
org.apache.xalan.xslt.EnvironmentCheck, I am using Xalan Java 2.4.D1.

A transformation against the following stylesheet throws the exception:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:foo="foo"
  extension-element-prefixes="my-ext"
 >
<xsl:template match="/">
Hello World!
</xsl:template>
</xsl:stylesheet>

However, I noticed that an exception does not occur when the xmlns:foo 
namespace declaration is removed (i.e. xmlns:xsl is the only namespace 
declaration).

I think the correct behavior of both of these conditions should be an error (at 
least according to my interpretation of section 14.1 of the XSLT 1.0 spec)
I have attached the source XML file (doc.xml) and stylesheet (foo.xsl) used in 
the transformation that causes the exception.  Also, below is the stack dump:

javax.xml.transform.TransformerConfigurationException: 
javax.xml.transform.TransformerException: java.lang.NullPointerException
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:1013)
        at org.apache.xalan.xslt.Process.main(Process.java:594)
Caused by: javax.xml.transform.TransformerException: 
java.lang.NullPointerException
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:1007)
        ... 1 more
Caused by: java.lang.NullPointerException
        at org.apache.xml.utils.StringVector.contains(StringVector.java:175)
        at org.apache.xalan.templates.Stylesheet.containsExtensionElementURI
(Stylesheet.java:322)
        at org.apache.xalan.templates.ElemTemplateElement.excludeResultNSDecl
(ElemTemplateElement.java:1059)
        at org.apache.xalan.templates.ElemTemplateElement.resolvePrefixTables
(ElemTemplateElement.java:1106)
        at org.apache.xalan.templates.ElemTemplateElement.compose
(ElemTemplateElement.java:252)
        at org.apache.xalan.templates.StylesheetRoot.composeTemplates
(StylesheetRoot.java:356)
        at org.apache.xalan.templates.StylesheetRoot.recompose
(StylesheetRoot.java:336)
        at org.apache.xalan.processor.StylesheetHandler.endDocument
(StylesheetHandler.java:508)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument
(AbstractSAXParser.java:715)
        at org.apache.xerces.impl.XMLNamespaceBinder.endDocument
(XMLNamespaceBinder.java:704)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument
(XMLDTDValidator.java:985)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity
(XMLDocumentScannerImpl.java:437)
        at org.apache.xerces.impl.XMLEntityManager.endEntity
(XMLEntityManager.java:1159)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load
(XMLEntityManager.java:3204)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces
(XMLEntityManager.java:2905)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch
(XMLDocumentScannerImpl.java:987)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:529)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:585)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1148)
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:983)
        ... 1 more
---------
javax.xml.transform.TransformerException: java.lang.NullPointerException
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:1007)
        at org.apache.xalan.xslt.Process.main(Process.java:594)
Caused by: java.lang.NullPointerException
        at org.apache.xml.utils.StringVector.contains(StringVector.java:175)
        at org.apache.xalan.templates.Stylesheet.containsExtensionElementURI
(Stylesheet.java:322)
        at org.apache.xalan.templates.ElemTemplateElement.excludeResultNSDecl
(ElemTemplateElement.java:1059)
        at org.apache.xalan.templates.ElemTemplateElement.resolvePrefixTables
(ElemTemplateElement.java:1106)
        at org.apache.xalan.templates.ElemTemplateElement.compose
(ElemTemplateElement.java:252)
        at org.apache.xalan.templates.StylesheetRoot.composeTemplates
(StylesheetRoot.java:356)
        at org.apache.xalan.templates.StylesheetRoot.recompose
(StylesheetRoot.java:336)
        at org.apache.xalan.processor.StylesheetHandler.endDocument
(StylesheetHandler.java:508)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument
(AbstractSAXParser.java:715)
        at org.apache.xerces.impl.XMLNamespaceBinder.endDocument
(XMLNamespaceBinder.java:704)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument
(XMLDTDValidator.java:985)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity
(XMLDocumentScannerImpl.java:437)
        at org.apache.xerces.impl.XMLEntityManager.endEntity
(XMLEntityManager.java:1159)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load
(XMLEntityManager.java:3204)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces
(XMLEntityManager.java:2905)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch
(XMLDocumentScannerImpl.java:987)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:529)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:585)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1148)
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:983)
        ... 1 more
---------
java.lang.NullPointerException
        at org.apache.xml.utils.StringVector.contains(StringVector.java:175)
        at org.apache.xalan.templates.Stylesheet.containsExtensionElementURI
(Stylesheet.java:322)
        at org.apache.xalan.templates.ElemTemplateElement.excludeResultNSDecl
(ElemTemplateElement.java:1059)
        at org.apache.xalan.templates.ElemTemplateElement.resolvePrefixTables
(ElemTemplateElement.java:1106)
        at org.apache.xalan.templates.ElemTemplateElement.compose
(ElemTemplateElement.java:252)
        at org.apache.xalan.templates.StylesheetRoot.composeTemplates
(StylesheetRoot.java:356)
        at org.apache.xalan.templates.StylesheetRoot.recompose
(StylesheetRoot.java:336)
        at org.apache.xalan.processor.StylesheetHandler.endDocument
(StylesheetHandler.java:508)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument
(AbstractSAXParser.java:715)
        at org.apache.xerces.impl.XMLNamespaceBinder.endDocument
(XMLNamespaceBinder.java:704)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument
(XMLDTDValidator.java:985)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity
(XMLDocumentScannerImpl.java:437)
        at org.apache.xerces.impl.XMLEntityManager.endEntity
(XMLEntityManager.java:1159)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load
(XMLEntityManager.java:3204)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces
(XMLEntityManager.java:2905)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch
(XMLDocumentScannerImpl.java:987)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:529)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:585)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1148)
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:983)
        at org.apache.xalan.xslt.Process.main(Process.java:594)
---------
java.lang.NullPointerException
        at org.apache.xml.utils.StringVector.contains(StringVector.java:175)
        at org.apache.xalan.templates.Stylesheet.containsExtensionElementURI
(Stylesheet.java:322)
        at org.apache.xalan.templates.ElemTemplateElement.excludeResultNSDecl
(ElemTemplateElement.java:1059)
        at org.apache.xalan.templates.ElemTemplateElement.resolvePrefixTables
(ElemTemplateElement.java:1106)
        at org.apache.xalan.templates.ElemTemplateElement.compose
(ElemTemplateElement.java:252)
        at org.apache.xalan.templates.StylesheetRoot.composeTemplates
(StylesheetRoot.java:356)
        at org.apache.xalan.templates.StylesheetRoot.recompose
(StylesheetRoot.java:336)
        at org.apache.xalan.processor.StylesheetHandler.endDocument
(StylesheetHandler.java:508)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument
(AbstractSAXParser.java:715)
        at org.apache.xerces.impl.XMLNamespaceBinder.endDocument
(XMLNamespaceBinder.java:704)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument
(XMLDTDValidator.java:985)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity
(XMLDocumentScannerImpl.java:437)
        at org.apache.xerces.impl.XMLEntityManager.endEntity
(XMLEntityManager.java:1159)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.load
(XMLEntityManager.java:3204)
        at org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces
(XMLEntityManager.java:2905)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch
(XMLDocumentScannerImpl.java:987)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:529)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse
(StandardParserConfiguration.java:585)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1148)
        at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
(TransformerFactoryImpl.java:983)
        at org.apache.xalan.xslt.Process.main(Process.java:594)

Reply via email to