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

Reply via email to