W3C home > Mailing lists > Public > www-lib@w3.org > April to June 1999

Re: HText HTML element callbacks

From: Vaclav Barta <vbar@comp.cz>
Date: Tue, 22 Jun 1999 04:52:19 +0000
Message-ID: <376F1683.1DA4CE96@comp.cz>
To: www-lib@w3.org
CC: Rick Kwan <kenobi@coruscant.lightsaber.com>
Rick Kwan wrote:
> I am finally back to looking at the HText interface, particularly
> the usage of the callbacks.
> In looking at the callbacks for handling HTML elements,
> HText_beginElement() and HText_endElement(), they appear to be
> a means for providing counterparts to HTML_start_element() and
> HTML_end_element() in HTML.c.  But these two routines are invoked
> by way of
>     SGML_write() calls start_element() calls HTML_start_element()
>     SGML_write() calls end_element() calls HTML_end_element()
> Thus, to get at these by way of callbacks, I would have to provide
> my own customized SGML.c as well.
> Have I overlooked something?  It seems like it shouldn't be necessary
> to rewrite SGML.c in order to get at the element callbacks.
Well, I didn't really look at the source, but comments in header say
you should register your callbacks, and it worked just like that:

// these are my callbacks
void HandleStartTag(HText *text,
    int	element_number,
    const BOOL *present,
    const char **value);
void HandleEndTag(HText *text,
    int element_number);

    // somewhere between libwww initialization and document loading
    HText_registerElementCallback(HandleStartTag, HandleEndTag);

Other callbacks will be invoked for beginning and end of document,
chunks of text etc. (if you register them, of course).

I have a web spider, too!
Received on Tuesday, 22 June 1999 14:30:43 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:33:49 UTC