Subject: RE: XPath against a Document From: Kay Michael <Michael.Kay@xxxxxxx> Date: Wed, 16 Feb 2000 09:56:17 -0000 |
Just for comparison, in case anyone is interested, here's the equivalent in Saxon: public static final NodeSetValue getNodesByXPath(NodeInfo baseNode, String sPath) throws SAXException { Expression exp = Expression.make(sPath); Context c = new Context(); c.setCurrent(baseNode); c.setPosition(1); c.setLast(1); return (NodeSetValue)exp.evaluate(c); } If the expression uses variables or namespace prefixes (not to mention keys or decimal formats) you need to do a bit more work in setting up the context. Mike Kay > -----Original Message----- > From: Timm, Sean [mailto:STimm@xxxxxxxxxx] > Sent: 15 February 2000 21:44 > To: 'xsl-list@xxxxxxxxxxxxxxxx' > Subject: RE: XPath against a Document > > > /** > * This method searches for a specific set of nodes based > on the XPath > * statement passed into it. > * > * @param baseNode Base node to process XPath statement against > * @param sPath XPath statement to execute against baseNode > * @return NodeList NodeList populated by nodes that match XPath > expression > */ > public static final NodeList getNodesByXPath(Node baseNode, String > sPath) > throws Exception > { > String parserLiaisonClassName = Constants.LIAISON_CLASS; > Class parserLiaisonClass = > Class.forName(parserLiaisonClassName); > Constructor parserLiaisonCtor = > parserLiaisonClass.getConstructor(null); > XMLParserLiaison parserLiaison > = (XMLParserLiaison)parserLiaisonCtor.newInstance(null); > > // Create a XPath parser. > XPathProcessorImpl parser = new XPathProcessorImpl(); > > // Create the XPath object. > XPath xpath = new XPath(); > > // Parse the xpath > parser.initXPath(xpath, sPath, null); > XObject xobj = xpath.execute(parserLiaison, baseNode, null); > > return xobj.nodeset(); > } > > - Sean T. > > -----Original Message----- > From: Ben Bertola [mailto:bbertola@xxxxxxxxxxxx] > Sent: Tuesday, February 15, 2000 3:49 PM > To: xsl-list@xxxxxxxxxxxxxxxx > Subject: Re: XPath against a Document > > > I have this same question, this would be great to know if > it's possible. > Thanks, > Ben > > > Paul Levin wrote: > > > Using Xerces and Xalan; > > given a Document (i.e. DocumentImpl) and given a String > containing > > an XPath expression, I would like to apply the expression > against the > > document to obtain the NodeList that matchs the expression. Is this > > possible ? > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: XPath against a Document, Brian Dupras | Thread | generalizing an XSL solution, Judi Thomson |
RE: Node selection question, Kay Michael | Date | Compare attribute values (fwd), Jany Quintard |
Month |