This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XPath against a Document
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: XPath against a Document
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Wed, 16 Feb 2000 09:56:17 -0000
- Reply-To: xsl-list at mulberrytech dot com
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@MAILGO.com]
> Sent: 15 February 2000 21:44
> To: 'xsl-list@mulberrytech.com'
> 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@promedix.com]
> Sent: Tuesday, February 15, 2000 3:49 PM
> To: xsl-list@mulberrytech.com
> 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