commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Kitching <skitch...@apache.org>
Subject Re: [digester] using xpath to select nodes
Date Fri, 10 Feb 2006 09:20:29 GMT
On Thu, 2006-02-09 at 21:52 -0800, Craig McClanahan wrote:
>         No. None of the rule-matching implementations support XPath
>         expressions.
> 
> It would also likely require some pretty fundamental architectural
> changes, since Digester uses a SAX parser underneath the covers (and
> never has access to a data structure representing the entire
> document).  XPath queries seem much more appropriate when you've got
> the whole DOM of the document to examine. 

Well, I agree that supporting XPath in general is not possible with
Digester, which is fundamentally based on SAX while XPath is
fundamentally based on DOM.

However for the specific case in question, which is matching based on
attribute values, is it really impossible to provide that functionality
in some form? When the opening tag of the element is encountered, the
attributes are also provided, so I believe it's possible in principle to
fire  methods for rules based on attribute values while still using SAX.

I agree that adding it to the existing digester 1.x implementation is
not feasable because the existing Rules class API doesn't pass this
info; adding this would break all existing Rules classes which isn't
reasonable. However I don't see why a digester2 project couldn't
redesign things to make this possible. Am I missing something? I was
certainly planning on adding this sort of functionality to digester2 (if
I ever find time to resume work on it). In particular, I was interested
in looking at STX (http://stx.sourceforge.net/) rather than xpath as
inspiration, as I believe the STX expression functionality doesn't rely
on having a DOM around...

Cheers,

Simon


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message