hi Simone, ok, it was just matter of adding one line :)
By the way I still have an issue in the case of multiple children and I don't know how to solve it. If I have a document containing: <parent> <child1></child1> <child2></child2> </parent> I don't want to trigger the method twice, but just once... in other terms I want to trigger the method only once per document and only if the <parent> tag has at least 1 child. I copy my code again: Digester digester = new Digester(); digester.setRules( new RegexRules( new SimpleRegexMatcher() ) ); digester.addCallMethod("collection/doc/categ/*", "myMethod", 0); thanks Patrick On 14 May 2011 21:54, Simone Tripodi <simonetrip...@apache.org> wrote: > Hi Patrick, > I thought it was more intuitive, sounds we have to update de doc. > Anyway, to reply to your questions: > > 1) just create the Digester instance, set the RegexRules and start > binding your rules: > > Digester digester = new Digester(); > digester.setRules( new RegexRules( new SimpleRegexMatcher() ) ); > digester.addCallMethod( "collection/doc/categ/*", "myMethod", 0 ); > > 2) yes, as reported in the javadoc I pointed: "* matches any sequence > of none, one or more characters" like in the bash syntax; if you want > to apply kind of filters, bind the rules with restrictive patterns > (prefixes/postfixes); ie. given the rule: > > digester.addCallMethod( "collection/doc/categ/patt*", "myMethod", 0 ); > > collection/doc/categ/patt -> matches > collection/doc/categ/pattern -> matches > collection/doc/categ/patteRn -> matches > collection/doc/categ/pattern -> matches > collection/doc/categ/paBtern -> does not match > > HTH, have a nice weekend, > Simo > > http://people.apache.org/~simonetripodi/ > http://www.99soft.org/ > > > > On Sat, May 14, 2011 at 8:58 PM, Patrick Diviacco > <patrick.divia...@gmail.com> wrote: > > Thanks, > > > > 1) Is there any tutorial explaining how to use it ? > > > > 2) In my case, if I have more than one child, is the pattern detected > > multiple times ? > > > > help is very appreciated! > > > > > > > > > > On 14 May 2011 01:36, Simone Tripodi <simonetrip...@apache.org> wrote: > > > >> Hi Patrick, > >> follow the Konstantin's suggestion, that's the way to achieve it. Have > >> a read also to > >> > http://commons.apache.org/digester/apidocs/index.html?org/apache/commons/digester/SimpleRegexMatcher.html > >> > >> HTH, > >> Simo > >> > >> http://people.apache.org/~simonetripodi/ > >> http://www.99soft.org/ > >> > >> > >> > >> On Fri, May 13, 2011 at 8:28 PM, Konstantin Kolinko > >> <knst.koli...@gmail.com> wrote: > >> > 2011/5/13 Patrick Diviacco <patrick.divia...@gmail.com>: > >> >> mhm, sorry.. just to be more clear. > >> >> > >> >> Is there a way in Commons Digester to trigger a method only if a xml > >> element > >> >> has a child ? > >> >> > >> >> i.e. > >> >> digester.addCallMethod("collection/doc/categ/*", "myMethod", 0); > >> >> > >> >> This doesn't work. > >> > > >> > The "*" is allowed in the prefix only, as documented in > >> > > >> > > >> > http://commons.apache.org/digester/commons-digester-2.1/docs/api/org/apache/commons/digester/RulesBase.html > >> > > >> > You may try to use a different rules matcher. See "RegexMatchers" > chapter > >> here: > >> > http://commons.apache.org/digester/commons-digester-2.1/core.html > >> > > >> > > >> >> But it is actually what I need. If element <categ> has at > >> >> least a child, then trigger myMethod > >> > > >> > Best regards, > >> > Konstantin Kolinko > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > >> > For additional commands, e-mail: user-h...@commons.apache.org > >> > > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > >> For additional commands, e-mail: user-h...@commons.apache.org > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > For additional commands, e-mail: user-h...@commons.apache.org > >