[Expat-discuss] not well-formed (invalid token) error

Carlos Pereira jose.carlos.pereira at ist.utl.pt
Wed Apr 8 00:31:08 CEST 2009


> I am trying to parse a very simple HTML file but I am getting 'not well-formed (invalid token) error'. Is there any thing I can do to make this work without getting errors?
>   
forming well your simple HTML file?

replacing this:

<a href=http://www.yahoo.com>Yahoo!</a>

by this:

<a href="http://www.yahoo.com">Yahoo!</a>

might be a step on that direction,

Regards,
C


> Thanks in advance!
>
>
> The HTML file:
>
> <html>
>         <head>
>                 <title>
>                         TEST
>                 </title>
>         </head>
>         <body>
>                 <hr>
>                 <a href=http://www.yahoo.com>Yahoo!</a>
>                 <hr>
>         </body>
> </html> 
>
>
> The C code start, end routines are as follows:
>
> static void
> elem_start(void *data, const char *el, const char **attr)
> {   
>   int i;
>   int *Depth = (int *)data;
>     
>   strcpy(curr_elem, el);
>   for (i = 0; i < *Depth; i++)
>     buginf("  ");
>
>   buginf("Element(%s)->", el);
>     
>   for (i = 0; attr[i]; i += 2) {
>     buginf("Attribute(%s)='%s':", attr[i], attr[i + 1]);
>   }
>   buginf("\n");
>
>   (*Depth)++; 
> }
>
> static void
> elem_end(void *data, const char *el)
> {
>     int i, *Depth = data;
>
>     // buginf("%s===%s==\n", el, curr_elem);
>     if (el && !strcmp(el, curr_elem) && *curr_data_buf) {
>         for (i = 0; i < *Depth; i++)
>             buginf("  ");
>         buginf("Value='%s'\n", curr_data_buf);
>         curr_data_buf[0] = '\0';
>         curr_data_bufp = curr_data_buf;
>     }
>     (*((int *)data))--;
> }
>
> static void xml_test_parse (int len, char *bufp)
> {
>     int depth = 0;
>     XML_Parser parser;
>
>     parser = XML_ParserCreate(NULL);
>     XML_SetUserData(parser, &depth);
>     XML_SetElementHandler(parser, elem_start, elem_end);
>     XML_SetCharacterDataHandler(parser, cdata_handler);
>
>     if (!XML_Parse(parser, bufp, len, TRUE)) {
>         buginf( "%s at line %d\n",
>                 XML_ErrorString(XML_GetErrorCode(parser)),
>                 XML_GetCurrentLineNumber(parser));
>     }
>     XML_ParserFree(parser);
> }
>
>
>       
> _______________________________________________
> Expat-discuss mailing list
> Expat-discuss at libexpat.org
> http://mail.libexpat.org/mailman/listinfo/expat-discuss
>
>   



More information about the Expat-discuss mailing list