404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.221.116.226: ~ $
=head1 NAME

XML::LibXML::Pattern - XML::LibXML::Pattern - interface to libxml2 XPath patterns

=head1 SYNOPSIS



  use XML::LibXML;
  my $pattern = XML::LibXML::Pattern->new('/x:html/x:body//x:div', { 'x' => 'http://www.w3.org/1999/xhtml' });
  # test a match on an XML::LibXML::Node $node

  if ($pattern->matchesNode($node)) { ... }

  # or on an XML::LibXML::Reader

  if ($reader->matchesPattern($pattern)) { ... }

  # or skip reading all nodes that do not match

  print $reader->nodePath while $reader->nextPatternMatch($pattern);

  $pattern = XML::LibXML::Pattern->new( pattern, { prefix => namespace_URI, ... } );
  $bool = $pattern->matchesNode($node);

=head1 DESCRIPTION

This is a perl interface to libxml2's pattern matching support I<<<<<< http://xmlsoft.org/html/libxml-pattern.html >>>>>>. This feature requires recent versions of libxml2.

Patterns are a small subset of XPath language, which is limited to
(disjunctions of) location paths involving the child and descendant axes in
abbreviated form as described by the extended BNF given below:



  Selector ::=     Path ( '|' Path )*
  Path     ::=     ('.//' | '//' | '/' )? Step ( '/' Step )*
  Step     ::=     '.' | NameTest
  NameTest ::=     QName | '*' | NCName ':' '*'

For readability, whitespace may be used in selector XPath expressions even
though not explicitly allowed by the grammar: whitespace may be freely added
within patterns before or after any token, where



  token     ::=     '.' | '/' | '//' | '|' | NameTest

Note that no predicates or attribute tests are allowed.

Patterns are particularly useful for stream parsing provided via the C<<<<<< XML::LibXML::Reader >>>>>> interface.

=over 4

=item new()

  $pattern = XML::LibXML::Pattern->new( pattern, { prefix => namespace_URI, ... } );

The constructor of a pattern takes a pattern expression (as described by the
BNF grammar above) and an optional HASH reference mapping prefixes to namespace
URIs. The method returns a compiled pattern object.

Note that if the document has a default namespace, it must still be given an
prefix in order to be matched (as demanded by the XPath 1.0 specification). For
example, to match an element C<<<<<< <a xmlns="http://foo.bar"</a> >>>>>>, one should use a pattern like this:



  $pattern = XML::LibXML::Pattern->new( 'foo:a', { foo => 'http://foo.bar' });


=item matchesNode($node)

  $bool = $pattern->matchesNode($node);

Given an XML::LibXML::Node object, returns a true value if the node is matched
by the compiled pattern expression.



=back


=head1 SEE ALSO

L<<<<<< XML::LibXML::Reader >>>>>> for other methods involving compiled patterns.

=head1 AUTHORS

Matt Sergeant,
Christian Glahn,
Petr Pajas


=head1 VERSION

2.0132

=head1 COPYRIGHT

2001-2007, AxKit.com Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.

=cut


=head1 LICENSE

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.


Filemanager

Name Type Size Permission Actions
SAX Folder 0755
Attr.pod File 4.02 KB 0644
AttributeHash.pm File 4.49 KB 0644
Boolean.pm File 1.56 KB 0644
CDATASection.pod File 1.28 KB 0644
Comment.pod File 1.36 KB 0644
Common.pm File 8.22 KB 0644
Common.pod File 3.59 KB 0644
DOM.pod File 6.23 KB 0644
Devel.pm File 4.91 KB 0644
Document.pod File 20.9 KB 0644
DocumentFragment.pod File 819 B 0644
Dtd.pod File 1.99 KB 0644
Element.pod File 13.48 KB 0644
ErrNo.pm File 27.83 KB 0644
ErrNo.pod File 591 B 0644
Error.pm File 8.47 KB 0644
Error.pod File 5.97 KB 0644
InputCallback.pod File 9.59 KB 0644
Literal.pm File 2.04 KB 0644
Namespace.pod File 3.28 KB 0644
Node.pod File 25.38 KB 0644
NodeList.pm File 7.31 KB 0644
Number.pm File 1.87 KB 0644
PI.pod File 2.22 KB 0644
Parser.pod File 27.49 KB 0644
Pattern.pod File 2.89 KB 0644
Reader.pm File 5.75 KB 0644
Reader.pod File 17.57 KB 0644
RegExp.pod File 1.54 KB 0644
RelaxNG.pod File 2.08 KB 0644
SAX.pm File 2.96 KB 0644
SAX.pod File 1.76 KB 0644
Schema.pod File 1.96 KB 0644
Text.pod File 5.47 KB 0644
XPathContext.pm File 3.15 KB 0644
XPathContext.pod File 11.49 KB 0644
XPathExpression.pod File 1.64 KB 0644