XML::LibXML::Pattern - phpMan

Command: man perldoc info search(apropos)  


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

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);

DESCRIPTION
    This is a perl interface to libxml2's pattern matching support
    *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
    "XML::LibXML::Reader" interface.

    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 "<a
        xmlns="http://foo.bar"</a>", one should use a pattern like this:

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

    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.

SEE ALSO
    XML::LibXML::Reader for other methods involving compiled patterns.

AUTHORS
    Matt Sergeant, Christian Glahn, Petr Pajas

VERSION
    2.0134

COPYRIGHT
    2001-2007, AxKit.com Ltd.

    2002-2006, Christian Glahn.

    2006-2009, Petr Pajas.

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


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-21 22:08 @216.73.216.105 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.1!Valid CSS!

^_back to top