XML-ED

 view release on metacpan or  search on metacpan

lib/XML/ED/Bare.xs  view on Meta::CPAN

  CODE:
    rootpos = text;
    PERL_HASH(vhash, "value", 5);
    PERL_HASH(Vhash, "_value", 6);
    PERL_HASH(ahash, "_att", 4);
    PERL_HASH(chash, "comment", 7);
    PERL_HASH(phash, "_pos", 4);
    PERL_HASH(ihash, "_i", 2 );
    PERL_HASH(zhash, "_z", 2 );
    PERL_HASH(nhash, "_n", 2 );
    PERL_HASH(cdhash, "_cdata", 6 );
    PERL_HASH(typehash, "_type", 5 );
    parser = (struct parserc *) malloc( sizeof( struct parserc ) );
    root = parserc_parse( parser, text );

SV *
get_root()
  CODE:
    RETVAL = newSVuv( PTR2UV( root ) );
  OUTPUT:
    RETVAL

lib/XML/ED/parser.c  view on Meta::CPAN

    if (let == '>') {
	curnode->vallen = cpos - curnode->value;
	cpos++;
	curnode = curnode->parent;

	goto val_1;
    }
    cpos++;
    goto bang;

  cdata:
    let = *cpos;
    if (!let)
	goto done;
    if (let == ']' && *(cpos + 1) == ']' && *(cpos + 2) == '>') {
	cpos += 3;
	goto val_1;
    }
    cpos++;
    goto cdata;

// looking for name after <

  name_1:
#ifdef DEBUG
    printf("name_1: %c\n", *cpos);
#endif
    let = *cpos;
    switch (let) {
    case '\0':



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