Re: progress on HTML 2.0 reconstruction

Bert Bos (
Wed, 29 Mar 95 08:16:16 EST

Christophe Espert writes:
|In message <> 29 Mar 95 04:37:37, wrote:
|> Example: the following document should get type "text/sgml", despite
|> the public identifier:
|> -----------------------------------------------
|> <!doctype html public "-//IETF//DTD HTML//EN" [
|> <!element html o o (head, body) +(blue)>
|> <!element blue - - any>
|> ]>
|> ...
|> <blue>
|> <p>blue, blue, blue,...
|> </blue>
|> ...
|> -----------------------------------------------
|Unfortunately this won't work because you are not allowed to define an element
|twice in the DTD. Let's recall that the DTD is made of the markup
|declarations coming from the declaration subset and from the entity pointed
|to by the external identifier PUBLIC "-//IETF//DTD HTML//EN" which is
|concatenated right after the subset. So here the first HTML element declaration
|would be the one you define in the subset and would be conflicting with the
|one in the external entity.
|The only thing you may declare twice are entities. In the case where an entity
|is declared twice the first definition in the order of recognition counts.

You're right. If I give an example I should make sure it works. Change
the prolog to:

<!doctype html public "-//IETF//DTD HTML//EN" [
<!entity % block "p|pre|ul|ol|dl|blockquote|blue">
<!element blue - - any>
<!doctype myhtml public "-//IETF//DTD HTML//EN" [
<!element myhtml o o (html) +(blue)>
<!element blue - - any>


                          Bert Bos                      Alfa-informatica
                 <>           Rijksuniversiteit Groningen
    <>     Postbus 716, NL-9700 AS GRONINGEN