Hi,
I have the following code :
<xsl:template match="/">
<xsl:variable name="target-dcr"
select="document('file:///C:/cygwin/home/zaphod/iwmnt/iceAG/main/US/IMC/WORKAREA/US_IMC/templatedata/Category/IndustryOverview/data/aerospace-and-defense')"
/>
<xsl:for-each select="$target-dcr">
<xsl:message><xsl:value-of
select="/ewcm:IBMWebContent/ewcm:Metadata/ewcm:Identifier"
/></xsl:message>
</xsl:for-each>
<xsl:variable name="tmp"
select="java:services.ice.teamsite.XPathUtil.getNodeFromXPath($target-dcr,'/ewcm:IBMWebContent/ewcm:Metadata/ewcm:Identifier')"
/>
</xsl:template>
where XPathUtil.getNodeFromXPath is defined as follows :
public class XPathUtil
{
public static Node getNodeFromXPath(ExpressionContext xslContext,
Node rootElement, String xpathExpr)
{
NodeList nl;
try{
PrefixResolver prefixResolver =
xslContext.getXPathContext().getNamespaceContext();
System.out.println(prefixResolver.getNamespaceForPrefix("ewcm"));
nl =
XPathAPI.eval(rootElement,xpathExpr,prefixResolver).nodelist();
// dies here
System.out.println(nl.getLength());
return nl.item(0);
}catch(TransformerException te){
te.printStackTrace();
}
return null;
}
}
The XSL produces the following output :
file:///c:/cygwin/home/zaphod/cloning/code/template-handlers/CategoryTemplates.xsl;
Line #38; Column #17; a1000038
http://w3.ibm.com/standards/xml/released/ewcm
javax.xml.transform.TransformerException: Unknown error in XPath.
at org.apache.xpath.XPath.execute(XPath.java:334)
at org.apache.xpath.XPathAPI.eval(XPathAPI.java:319)
at services.ice.teamsite.XPathUtil.getNodeFromXPath(XPathUtil.java:27)
at java.lang.reflect.Method.invoke(Native Method)
at
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:342)
at
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:423)
at
org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:258)
at
org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:465)
at
org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:234)
at org.apache.xpath.XPath.execute(XPath.java:306)
at
org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:316)
at
org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:284)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2185)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1263)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:671)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1179)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1157)
at org.apache.xalan.xslt.Process.main(Process.java:1025)
---------
java.lang.NullPointerException
at org.apache.xpath.axes.AxesWalker.setRoot(AxesWalker.java:256)
at
org.apache.xpath.axes.WalkingIterator.setRoot(WalkingIterator.java:191)
at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:250)
at
org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:249)
at org.apache.xpath.XPath.execute(XPath.java:306)
at org.apache.xpath.XPathAPI.eval(XPathAPI.java:319)
at services.ice.teamsite.XPathUtil.getNodeFromXPath(XPathUtil.java:27)
at java.lang.reflect.Method.invoke(Native Method)
at
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:342)
at
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:423)
at
org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:258)
at
org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:465)
at
org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:234)
at org.apache.xpath.XPath.execute(XPath.java:306)
at
org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:316)
at
org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:284)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2185)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1263)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:671)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1179)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1157)
at org.apache.xalan.xslt.Process.main(Process.java:1025)
<?xml version="1.0" encoding="UTF-8"?>
I'm not sure what I am doing wrong. Any ideas?
Thanks,
Kenneth