OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] [proposal] XPath API for Java

[ Lists Home | Date Index | Thread Index ]

JSR 206, which is defining JAXP 1.3 is undergoing community review at
the moment, the activity includes work on an XPath API.

http://www.jcp.org/en/jsr/detail?id=206

Michael Kay

> -----Original Message-----
> From: Bill de hÓra [mailto:bill@dehora.net] 
> Sent: 20 September 2003 19:08
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] [proposal] XPath API for Java
> 
> 
> 
> Hi,
> 
> I've been through a ton of DOM-in-Java programming in the last 12 
> months. You learn early on to use XPaths where possible to keep the 
> code flexible and clean. But one of the annoying about using XPath 
> in Java is that it's all library specific.  The last thing I want to 
> have to do is go through all my code and replace Xalan stuff with 
> Jaxen stuff or Jaxen stuff with DOML3 stuff.
> 
> So here's a proposed api:
> 
> 
>    package net.amadan.markup.xpath;
> 
>    import java.util.Map;
>    import org.w3c.dom.Node;
> 
> 
>    public interface XPath
>    {
>      /**
>      * Match a xpath over a DOM Node.<p>
>      *
>      *
>      * @param target the Node to match against.
>      * @param xpath  the xpath as a String
>      * @param namespaces    keys are namespace URIs,
>      * values are namespace prefixes.
>      * @return the Nodes matching the expression, a size of 0 
> indicates no match.
>      * @throws IllegalArgumentException if the xpath is illegal or a 
> prefix is not bound to a key in <tt>namespaces</tt>
>      */
> 
>      List match( Node target, String xpath, Map namespaces );
>    }
> 
> 
> I don't ever seem to need the extra step of preparing an xpath 
> object and applying it later to a Node. I also figure managing any 
> expression caching and so on is a fun thing to do for the 
> implementor but gorp for the user.
> 
> Next step is a factory/plugin to this so anyone that does xpath in 
> java  can register a provider. It'll be  the usual 
> "FactoryFactory.getFactory().newInstance()" dance using a System 
> property ("net.amadan.markup.xpath.driver").
> 
> Bill de hÓra
> 
> 
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org 
> <http://www.xml.org>, an initiative of OASIS 
<http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS