This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
xalan w/SQL extensions
- From: "Trond Fuglestad" <tfuglest at c2i dot net>
- To: <XSL-List at lists dot mulberrytech dot com>
- Date: Wed, 15 May 2002 17:32:30 +0200
- Subject: [xsl] xalan w/SQL extensions
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi.
Hoping anyone can help me with this.
I'm using Xalan for Java 2.3.1 w/SQL extensions to extract data from a db to
a XML document.
I am currently building a GUI to do this, and my problem is , when I first
extract data everything
works fine, but if I try to make another call, I get an error message saying
that the xsl-file couldn't connect
to the db. i have to restart the application, then everything works for the
first call again.
Any ideas anyone?
Trond Fuglestad
the "sql-bits" from the xslt file:
<xsl:template match="/">
<!--The connection to the db -->
<xsl:variable name="db" select="sql:new()"/>
<xsl:if test="not(sql:connect($db, $driver, $location))" >
<xsl:message>Error Connecting to the Database</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<!--The query to the db -->
<xsl:variable name="paraquery" select='sql:query($db,$query)'/>
<transfer>
<data>
<company>
<nodes>
<xsl:apply-templates select="$paraquery/sql/row-set/row"/>
</nodes>
</company>
</data>
</transfer>
<xsl:value-of select="sql:close($db)"/>
</xsl:template>
<xsl:template match="row">
<node><xsl:apply-templates select="col[1]"/>
<xsl:apply-templates select="col[2]"/>
<xsl:apply-templates select="col[3]"/>
</node>
</xsl:template>
<xsl:template match="col[1]">
<id><xsl:value-of select="text()"/></id>
</xsl:template>
<xsl:template match="col[3]">
<value><xsl:value-of select="text()"/></value>
</xsl:template>
<xsl:template match="col[2]">
<date><xsl:value-of select="text()"/></date>
</xsl:template>
</xsl:stylesheet>
the java code used to connect to the xslt file:
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
StreamSource xslStreamSource = new StreamSource(XSL_SOURCE_FILE);
Transformer transformer = tFactory.newTransformer(xslStreamSource);
transformer.setParameter("transfertype",transfertype);
transformer.setParameter("query",Query);
StringReader reader = new StringReader("<?xml version=\"1.0\"
encoding=\"ISO-8859-1\"?> <theroot/>");
transformer.transform(new StreamSource(reader), new StreamResult(new
File(OUTPUT_FILE)));
the error output from java:
file:///C:/dbconnect/transfer2.xslt; Line 31; Column 19; Error Connecting to
the Database
javax.xml.transform.TransformerException: java.lang.NullPointerException
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1226)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
638)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
1066)
at com.corporater.GetDocumentFromDB.generateXML(GetDocumentFromDB.java:64)
at com.corporater.GUI.createSQLStatement(GUI.java:103)
at com.corporater.GUI.jButton1_actionPerformed(GUI.java:86)
at com.corporater.GUI$1.actionPerformed(GUI.java:43)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto
n.java:1820)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4
19)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener
.java:258)
at java.awt.Component.processMouseEvent(Component.java:5021)
at java.awt.Component.processEvent(Component.java:4818)
at java.awt.Container.processEvent(Container.java:1380)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1437)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3214)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2929)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859)
at java.awt.Container.dispatchEventImpl(Container.java:1423)
at java.awt.Window.dispatchEventImpl(Window.java:1566)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:190)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
Caused by: java.lang.NullPointerException
at
org.apache.xpath.axes.FilterExprWalker.getAxis(FilterExprWalker.java:301)
at
org.apache.xpath.axes.WalkingIteratorSorted.canBeWalkedInNaturalDocOrder(Wal
kingIteratorSorted.java:128)
at
org.apache.xpath.axes.WalkingIteratorSorted.setRoot(WalkingIteratorSorted.ja
va:172)
at
org.apache.xpath.axes.LocPathIterator.asIterator(LocPathIterator.java:267)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApp
lyTemplates.java:253)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.jav
a:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Transformer
Impl.java:2008)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1171)
... 30 more
---------
java.lang.NullPointerException
at
org.apache.xpath.axes.FilterExprWalker.getAxis(FilterExprWalker.java:301)
at
org.apache.xpath.axes.WalkingIteratorSorted.canBeWalkedInNaturalDocOrder(Wal
kingIteratorSorted.java:128)
at
org.apache.xpath.axes.WalkingIteratorSorted.setRoot(WalkingIteratorSorted.ja
va:172)
at
org.apache.xpath.axes.LocPathIterator.asIterator(LocPathIterator.java:267)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApp
lyTemplates.java:253)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.jav
a:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
678)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2182)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Transformer
Impl.java:2008)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1171)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
638)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
1066)
at com.corporater.GetDocumentFromDB.generateXML(GetDocumentFromDB.java:64)
at com.corporater.GUI.createSQLStatement(GUI.java:103)
at com.corporater.GUI.jButton1_actionPerformed(GUI.java:86)
at com.corporater.GUI$1.actionPerformed(GUI.java:43)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto
n.java:1820)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4
19)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener
.java:258)
at java.awt.Component.processMouseEvent(Component.java:5021)
at java.awt.Component.processEvent(Component.java:4818)
at java.awt.Container.processEvent(Container.java:1380)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1437)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3214)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2929)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859)
at java.awt.Container.dispatchEventImpl(Container.java:1423)
at java.awt.Window.dispatchEventImpl(Window.java:1566)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:190)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list