X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.pod;h=29e6d4715813af545cfa6cf3bf07a498318a4f9b;hb=eb9737f29128e8d0c85fe9d2983abc937c9f3787;hp=2f0456ac9a1fed8b009f4bc0b3dbdbf7a1f51fcc;hpb=63873d67e780fce26d459e74222f627ccebc9392;p=catagits%2FDOM-Tiny.git
diff --git a/README.pod b/README.pod
index 2f0456a..29e6d47 100644
--- a/README.pod
+++ b/README.pod
@@ -77,8 +77,8 @@ names are lowercased and selectors need to be lowercase as well.
my $dom = DOM::Tiny->new('
Hi!
');
say $dom->at('p[id]')->text;
-If XML processing instructions are found, the parser will automatically switch
-into XML mode and everything becomes case-sensitive.
+If an XML declaration is found, the parser will automatically switch into XML
+mode and everything becomes case-sensitive.
# XML semantics
my $dom = DOM::Tiny->new('
Hi!
');
@@ -99,32 +99,34 @@ XML detection can also be disabled with the L"xml"> method.
L uses a CSS selector engine based on L. All CSS
selectors that make sense for a standalone parser are supported.
-=head2 *
+=over
+
+=item Z<>*
Any element.
my $all = $dom->find('*');
-=head2 E
+=item E
An element of type C.
my $title = $dom->at('title');
-=head2 E[foo]
+=item E[foo]
An C element with a C attribute.
my $links = $dom->find('a[href]');
-=head2 E[foo="bar"]
+=item E[foo="bar"]
An C element whose C attribute value is exactly equal to C.
my $case_sensitive = $dom->find('input[type="hidden"]');
my $case_sensitive = $dom->find('input[type=hidden]');
-=head2 E[foo="bar" i]
+=item E[foo="bar" i]
An C element whose C attribute value is exactly equal to any
(ASCII-range) case-permutation of C. Note that this selector is
@@ -138,7 +140,7 @@ This selector is part of
L, which is still a work
in progress.
-=head2 E[foo~="bar"]
+=item E[foo~="bar"]
An C element whose C attribute value is a list of whitespace-separated
values, one of which is exactly equal to C.
@@ -146,7 +148,7 @@ values, one of which is exactly equal to C.
my $foo = $dom->find('input[class~="foo"]');
my $foo = $dom->find('input[class~=foo]');
-=head2 E[foo^="bar"]
+=item E[foo^="bar"]
An C element whose C attribute value begins exactly with the string
C.
@@ -154,7 +156,7 @@ C.
my $begins_with = $dom->find('input[name^="f"]');
my $begins_with = $dom->find('input[name^=f]');
-=head2 E[foo$="bar"]
+=item E[foo$="bar"]
An C element whose C attribute value ends exactly with the string
C.
@@ -162,20 +164,20 @@ C.
my $ends_with = $dom->find('input[name$="o"]');
my $ends_with = $dom->find('input[name$=o]');
-=head2 E[foo*="bar"]
+=item E[foo*="bar"]
An C element whose C attribute value contains the substring C.
my $contains = $dom->find('input[name*="fo"]');
my $contains = $dom->find('input[name*=fo]');
-=head2 E:root
+=item E:root
An C element, root of the document.
my $root = $dom->at(':root');
-=head2 E:nth-child(n)
+=item E:nth-child(n)
An C element, the C child of its parent.
@@ -184,7 +186,7 @@ An C element, the C child of its parent.
my $even = $dom->find('div:nth-child(even)');
my $top3 = $dom->find('div:nth-child(-n+3)');
-=head2 E:nth-last-child(n)
+=item E:nth-last-child(n)
An C element, the C child of its parent, counting from the last one.
@@ -193,7 +195,7 @@ An C element, the C child of its parent, counting from the last one.
my $even = $dom->find('div:nth-last-child(even)');
my $bottom3 = $dom->find('div:nth-last-child(-n+3)');
-=head2 E:nth-of-type(n)
+=item E:nth-of-type(n)
An C element, the C sibling of its type.
@@ -202,7 +204,7 @@ An C element, the C sibling of its type.
my $even = $dom->find('div:nth-of-type(even)');
my $top3 = $dom->find('div:nth-of-type(-n+3)');
-=head2 E:nth-last-of-type(n)
+=item E:nth-last-of-type(n)
An C element, the C sibling of its type, counting from the last one.
@@ -211,109 +213,111 @@ An C element, the C sibling of its type, counting from the last one.
my $even = $dom->find('div:nth-last-of-type(even)');
my $bottom3 = $dom->find('div:nth-last-of-type(-n+3)');
-=head2 E:first-child
+=item E:first-child
An C element, first child of its parent.
my $first = $dom->find('div p:first-child');
-=head2 E:last-child
+=item E:last-child
An C element, last child of its parent.
my $last = $dom->find('div p:last-child');
-=head2 E:first-of-type
+=item E:first-of-type
An C element, first sibling of its type.
my $first = $dom->find('div p:first-of-type');
-=head2 E:last-of-type
+=item E:last-of-type
An C element, last sibling of its type.
my $last = $dom->find('div p:last-of-type');
-=head2 E:only-child
+=item E:only-child
An C element, only child of its parent.
my $lonely = $dom->find('div p:only-child');
-=head2 E:only-of-type
+=item E:only-of-type
An C element, only sibling of its type.
my $lonely = $dom->find('div p:only-of-type');
-=head2 E:empty
+=item E:empty
An C element that has no children (including text nodes).
my $empty = $dom->find(':empty');
-=head2 E:checked
+=item E:checked
A user interface element C which is checked (for instance a radio-button or
checkbox).
my $input = $dom->find(':checked');
-=head2 E.warning
+=item E.warning
An C element whose class is "warning".
my $warning = $dom->find('div.warning');
-=head2 E#myid
+=item E#myid
An C element with C equal to "myid".
my $foo = $dom->at('div#foo');
-=head2 E:not(s)
+=item E:not(s)
An C element that does not match simple selector C.
my $others = $dom->find('div p:not(:first-child)');
-=head2 E F
+=item E F
An C element descendant of an C element.
my $headlines = $dom->find('div h1');
-=head2 E E F
+=item E E F
An C element child of an C element.
my $headlines = $dom->find('html > body > div > h1');
-=head2 E + F
+=item E + F
An C element immediately preceded by an C element.
my $second = $dom->find('h1 + h2');
-=head2 E ~ F
+=item E ~ F
An C element preceded by an C element.
my $second = $dom->find('h1 ~ h2');
-=head2 E, F, G
+=item E, F, G
Elements of type C, C and C.
my $headlines = $dom->find('h1, h2, h3');
-=head2 E[foo=bar][bar=baz]
+=item E[foo=bar][bar=baz]
An C element whose attributes match all following attribute selectors.
my $links = $dom->find('a[foo^=b][foo$=ar]');
+=back
+
=head1 OPERATORS
L overloads the following operators.
@@ -423,8 +427,8 @@ node's content.
my $result = $dom->at('div ~ p');
Find first descendant element of this element matching the CSS selector and
-return it as a L object or return C if none could be found.
-All selectors listed in L"SELECTORS"> are supported.
+return it as a L object, or C if none could be found. All
+selectors listed in L"SELECTORS"> are supported.
# Find first element with "svg" namespace definition
my $namespace = $dom->at('[xmlns\:svg]')->{'xmlns:svg'};
@@ -580,7 +584,7 @@ L"SELECTORS"> are supported.
my $namespace = $dom->namespace;
-Find this element's namespace or return C if none could be found.
+Find this element's namespace, or return C if none could be found.
# Find namespace for an element with namespace prefix
my $namespace = $dom->at('svg > svg\:circle')->namespace;
@@ -592,8 +596,8 @@ Find this element's namespace or return C if none could be found.
my $sibling = $dom->next;
-Return L object for next sibling element or C if there are no
-more siblings.
+Return L object for next sibling element, or C if there are
+no more siblings.
# "