HTML-Gumbo

 view release on metacpan or  search on metacpan

lib/HTML/Gumbo.pm  view on Meta::CPAN

            my ($doctype) = @_;
        }
        elsif ( $event eq 'document end' ) {
        }
        elsif ( $event eq 'start' ) {
            my ($tag, $attrs) = @_;
        }
        elsif ( $event eq 'end' ) {
            my ($tag) = @_;
        }
        elsif ( $event eq /^(text|space|cdata|comment)$/ ) {
            my ($text) = @_;
        }
        else {
            die "Unknown event";
        }
    } );

Note that 'end' events are not generated for
L<void elements|http://www.w3.org/TR/html5/syntax.html#void-elements>,
for example C<hr>, C<br> and C<img>.

lib/HTML/Gumbo.xs  view on Meta::CPAN

    SAVETMPS;

    PUSHMARK(SP);
    if ( type == PHG_TEXT ) {
        switch ( node->type ) {
            case GUMBO_NODE_TEXT:
                mXPUSHs(newSVpvs("text"));break;
            case GUMBO_NODE_WHITESPACE:
                mXPUSHs(newSVpvs("space"));break;
            case GUMBO_NODE_CDATA:
                mXPUSHs(newSVpvs("cdata"));break;
            case GUMBO_NODE_COMMENT:
                mXPUSHs(newSVpvs("comment"));break;
            default:
                croak("Unknown node type");
        }
        mXPUSHs(newSVpvz8( node->v.text.text ));
    }
    else if ( type == PHG_ELEMENT_START && node->type == GUMBO_NODE_DOCUMENT ) {
        GumboDocument* doc = &node->v.document;
        mXPUSHs(newSVpvs("document start"));



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