  | |  | Bug?? | Bug?? 2003-01-17 - By Jonathan Blake
I was spinning in circles for a while on this one. I get a Null pointer error using the following files and command line. Is this a bug or am I doing unnatural things with XSLT? I can work around this by removing the "|" operation in the XSL and creating separate, identical templates, but it would be cleaner the other way.
java org.apache.xalan.xslt.Process -IN 01fftd.xml -XSL xhtml-single.xsl -OUT foo.html -V -EDUMP
-- XML file -- <?xml version="1.0" encoding="ISO-8859-1"?>
<gamebook> <section id="title" /> <data> <section class="frontmatter"> <data /> </section> </data> </gamebook>
-- XSL file -- <?xml version="1.0"?>
<xsl:transform version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" />
<xsl:template match="section" />
<xsl:template match="*[@(protected)='title']"> <html> <body> <div> <xsl:apply-templates select="data/section[@(protected)='frontmatter']" /> </div> </body> </html> </xsl:template>
<xsl:template match="/gamebook/section/data/section/data/section[@(protected)='frontmatter' | @(protected)='frontmatter-separate']" />
</xsl:transform>
Produces:
>>>>>>> Xalan Version Xalan Java 2.4.1, <<<<<<<
; SystemID: file:///usr7/nscee/jblake/public_html/aon/data/xml/xhtml-single.xsl javax.xml.transform.TransformerException: java.lang.NullPointerException at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java:2344) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode (TransformerImpl.java:2160) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java :1213) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:668) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java :1129) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java :1107) at org.apache.xalan.xslt.Process.main(Process.java:1041) --------- java.lang.NullPointerException at org.apache.xpath.axes.UnionChildIterator.acceptNode(UnionChildIterator.java:134) at org.apache.xpath.axes.BasicTestIterator.nextNode(BasicTestIterator.java:154) at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:321) at org.apache.xpath.objects.XNodeSet.compare(XNodeSet.java:538) at org.apache.xpath.objects.XNodeSet.equals(XNodeSet.java:736) at org.apache.xpath.operations.Equals.operate(Equals.java:84) at org.apache.xpath.operations.Operation.execute(Operation.java:150) at org.apache.xpath.Expression.execute(Expression.java:199) at org.apache.xpath.operations.Operation.execute(Operation.java:147) at org.apache.xpath.patterns.StepPattern.executePredicates(StepPattern.java:765) at org.apache.xpath.patterns.StepPattern.execute(StepPattern.java:443) at org.apache.xalan.templates.TemplateList.getTemplateFast(TemplateList.java:593) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes (ElemApplyTemplates.java:326) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java :216) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes (ElemApplyTemplates.java:425) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java :216) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes (ElemApplyTemplates.java:425) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java :216) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java:2339) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode (TransformerImpl.java:2160) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java :1213) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:668) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java :1129) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java :1107) at org.apache.xalan.xslt.Process.main(Process.java:1041)
-- Jon Blake
|
|
 |