in reply to XML::Twig and handles on regex/xpath
When debugging XPath expressions, I usually work my way up from the "deepest" tag I want to match. In your case, I'd first try to match things with a tagName matching /^tag\d+$/:
//*[starts-with(name(), "tag")]
Then, I'd slowly work my way upwards, adding more specific tags or rules in front of it:
//target/*[starts-with(name(), "tag")] //result/target/*[starts-with(name(), "tag")]
Ideally, at the end, I can then remove the floating specifier:
/result/target/*[starts-with(name(), "tag")]
Maybe you need to change your expression, or maybe XML::Twig doesn't support the starts-with() function - then I'd try the direct regular expression approach. I really wonder though whether your usage of specifying regular expressions instead of XPath expressions is correct, as I wuold imagine that XML::Twig interprets your first expression as XPath expression as well. I'm not sure how self::1 is supposed to work in conjunction with tag, as I don't think that tag[EXPR] will ever match anything that doesn't have an explicit tagName of "tag".
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::Twig and handles on regex/xpath
by Eythil (Acolyte) on Apr 28, 2011 at 08:17 UTC | |
by Corion (Patriarch) on Apr 28, 2011 at 08:22 UTC | |
by Eythil (Acolyte) on Apr 28, 2011 at 08:33 UTC | |
by Anonymous Monk on Apr 28, 2011 at 08:49 UTC | |
by Eythil (Acolyte) on Apr 28, 2011 at 09:04 UTC |