This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

xalan w/SQL extensions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]