Changeset 1738 for lang/perl/HTML-Selector-XPath
- Timestamp:
- 11/18/07 07:51:04 (6 years ago)
- Location:
- lang/perl/HTML-Selector-XPath/tags/0.03
- Files:
-
- 4 modified
-
Changes (modified) (1 diff)
-
lib/HTML/Selector/XPath.pm (modified) (3 diffs)
-
t/01_xpath.t (modified) (1 diff)
-
t/02_html.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/HTML-Selector-XPath/tags/0.03/Changes
r1737 r1738 1 1 Revision history for Perl extension HTML::Selector::XPath 2 2 3 0.02 Tue Oct 3 22:43:39 JST 2006 4 * Added support for :not() without XPath 2.0 3 0.03 Sat Nov 10 20:26:47 PST 2007 4 * Added nth-child() support (Thanks to Tokuhiro Matsuno) 5 6 0.02 Tue Oct 3 22:43:39 JST 2006 7 * Added support for :not() without XPath 2.0 5 8 (Thanks to Aristotle Pegaltzis) 6 9 7 0.01 Sun Sep 24 20:10:35 20068 - original version10 0.01 Sun Sep 24 20:10:35 2006 11 - original version -
lang/perl/HTML-Selector-XPath/tags/0.03/lib/HTML/Selector/XPath.pm
r1737 r1738 2 2 3 3 use strict; 4 our $VERSION = '0.0 2';4 our $VERSION = '0.03'; 5 5 6 6 require Exporter; … … 22 22 attr2 => qr/^\[\s*([^~\|=\s]+)\s*([~\|]?=)\s*"([^"]+)"\s*\]/i, 23 23 attrN => qr/^:not\((.*?)\)/i, 24 pseudo => qr/^:([()a-z _-]+)/i,24 pseudo => qr/^:([()a-z0-9_-]+)/i, 25 25 # adjacency/direct descendance 26 26 combinator => qr/^(\s*[>+\s])/i, … … 116 116 } elsif ($1 =~ /^lang\(([\w\-]+)\)$/) { 117 117 push @parts, "[\@xml:lang='$1' or starts-with(\@xml:lang, '$1-')]"; 118 } elsif ($1 =~ /^nth-child\((\d+)\)$/) { 119 push @parts, "[count(preceding-sibling::*) = @{[ $1 - 1 ]}]"; 118 120 } else { 119 121 Carp::croak "Can't translate '$1' pseudo-class"; -
lang/perl/HTML-Selector-XPath/tags/0.03/t/01_xpath.t
r1737 r1738 120 120 --- xpath 121 121 //foo[contains(concat(' ', @class, ' '), ' bar ')] | //bar 122 123 === 124 --- selector 125 E:nth-child(1) 126 --- xpath 127 //E[count(preceding-sibling::*) = 0] -
lang/perl/HTML-Selector-XPath/tags/0.03/t/02_html.t
r1737 r1738 137 137 --- expected 138 138 <p class="pastoral blue aqua marine">foo</p> 139 140 === 141 --- input 142 <p>foo</p> 143 <p>bar</p> 144 --- selector 145 p:nth-child(1) 146 --- expected 147 <p>foo</p> 148 149 === 150 --- input 151 <p>foo</p> 152 <p>bar</p> 153 --- selector 154 p:nth-child(2) 155 --- expected 156 <p>bar</p> 157
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)