It also allows SGML numeric (only) character references
such as < for ASCII character 60 in the source text. This is a
precautionary measure in view of Dan's comments which seem reasonable to me
but would require a LONG time for new browers to come around if they were
to be adopted.
I have made SGMl.c reentrant although HTML.c still isn't.
I agree with some of the comments about cleaning up.
Dan's comments that anyone using the library is encumbered with the
HText structure is not quite accurate -- one is encumbered with
the name of the struct but not its contents which are hidden in whatever
implements it. pointers to undefined structures seem to be the only clean
method of infomation hiding in modular C.
The styles I agree should go out and will when I get round to it.
If you think your definitive parser will fit into the library, Dan, I'll
consider putting it in the distribution.
Did I mention that Dan's new SGML spec is on the web linked from the old spec?
On that spec (which is getting cleaner each time),
- Could you put an empty <LINK ...> element into the set of things allowed
in the header, please? Attributes as <A> but no content. Value of TYPE
attributes to be subject to registration, with the usual X- escape.
The architecure of the browsers is input-driven rather than output-driven.
Control passes from the Access module to the Protocol module which decides
ithas to build an object, and calls the parser with the data as parameter which
calls the object it is building. We had it originally the other way up, that
the object called theprotocol module toget some data, but that was not so
flexible as the protocol module had in fact to be able to decide which objects
to build.
Tim