XML-Grove

 view release on metacpan or  search on metacpan

lib/XML/Grove.pm  view on Meta::CPAN

$type_name = 'subdoc';

package XML::Grove::Characters;
use vars qw{ @ISA $type_name };
@ISA = qw{XML::Grove};
$type_name = 'characters';

package XML::Grove::CData;
use vars qw{ @ISA $type_name };
@ISA = qw{XML::Grove};
$type_name = 'cdata';

package XML::Grove::ElementDecl;
use vars qw{ @ISA $type_name };
@ISA = qw{XML::Grove};
$type_name = 'element_decl';

package XML::Grove::AttListDecl;
use vars qw{ @ISA $type_name };
@ISA = qw{XML::Grove};
$type_name = 'attlist_decl';

lib/XML/Grove/Path.pm  view on Meta::CPAN

    /html/body/ul/li[4]
    /html/body/#pi[2]

The path segments can be element names or object types, the objects
types are named using:

    #element
    #pi
    #comment
    #text
    #cdata
    #any

The `C<#any>' object type matches any type of object, it is
essentially an index into the contents of the parent object.

The `C<#text>' object type treats text objects as if they are not
normalized.  Two consecutive text objects are seperate text objects.

=head1 AUTHOR

lib/XML/Grove/XPointer.pm  view on Meta::CPAN

    my $self = shift;
    my $instance = shift;
    my $node_type = shift;

    my $look_for;
    if (defined($node_type) && substr($node_type, 0, 1) eq '#') {
	$node_type eq '#element' and do { $look_for = 'XML::Grove::Element' };
        $node_type eq '#pi'      and do { $look_for = 'XML::Grove::PI' };
        $node_type eq '#comment' and do { $look_for = 'XML::Grove::Comment' };
	$node_type eq '#text'    and do { $look_for = 'XML::Grove::Characters' };
	$node_type eq '#cdata'   and do { $look_for = 'XML::Grove::CData' };
	$node_type eq '#any'     and do { $node_type = undef };
    } elsif (defined($node_type)) {
	$look_for = 'element-name';
    }

    my $contents = $self->{Contents};
    my $object = undef;

    $instance--;		# 0 based



( run in 0.687 second using v1.01-cache-2.11-cpan-454fe037f31 )