Baffling math problems [Was: HTML 3.0 DTD ]

Daniel W. Connolly (connolly@hal.com)
Fri, 02 Dec 1994 17:54:31 -0600


Message-Id: <9412022354.AA02877@ulua.hal.com>
To: dsr@hplb.hpl.hp.com
Cc: Multiple recipients of list <www-html@www0.cern.ch>
Subject: Baffling math problems [Was: HTML 3.0 DTD ]
In-Reply-To: Your message of "Fri, 02 Dec 1994 15:00:49 +0100."
             <9412011847.AA16501@dragget.hpl.hp.com> 
Date: Fri, 02 Dec 1994 17:54:31 -0600
From: "Daniel W. Connolly" <connolly@hal.com>

In message <9412011847.AA16501@dragget.hpl.hp.com>, Dave Raggett writes:
>For those of you having problems with "hplose.hpl.hp.com" you can now
>get the HTML 3.0 DTD direct from the CERN technical page for HTML:
>
>        http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
>
>The review paper and DTD for HTML+ is also there, see
>"Dave Raggett's presentation slides on HTML+ from WWW'94"


I've been doing some testing with the HTML 3 DTD.

Firs, to make sure HTML 3 meets the following stated design goal:

        o   Backwards compatibility with 2.0

I gave Dave some feedback earlier, and this design goal is nearly met.

I have had to tweak the html3.dtd file a little to get it to work
for my purposes:

===================================================================
RCS file: /u/connolly/cm/web/html-test/htmlplus/html3.dtd,v
retrieving revision 1.2
diff -u -r1.2 html3.dtd
--- 1.2 1994/11/30 18:26:30
+++ html3.dtd   1994/12/02 23:15:17
@@ -72,7 +72,6 @@
         could also be handled via refining the URL syntax.
 -->
 
-<!DOCTYPE HTML [
 
 <!ENTITY % HTML.Version
         "-//IETF//DTD HTML 3.0//EN//"
@@ -197,9 +196,14 @@
      of characters in widely available Latin-1 fonts, and as such
      is a mixture of ISOlat1 and other ISO publishing symbols -->
 
-<!ENTITY % HTMLlat1 PUBLIC
-  "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
-%HTMLlat1;
+<!ENTITY % ISOlat1 PUBLIC
+  "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
+%ISOlat1;
+
+<!ENTITY amp CDATA "&#38;"     -- ampersand          -->
+<!ENTITY gt CDATA "&#62;"      -- greater than       -->
+<!ENTITY lt CDATA "&#60;"      -- less than          -->
+<!ENTITY quot CDATA "&#34;"    -- double quote       -->
 
 <!--================ Entities for special symbols =========================-->
 
@@ -218,17 +222,21 @@
 <!-- a range of standard icons such as &folder; for use
      in speeding up display of directory listings etc. -->
 
+<!--@@
 <!ENTITY % HTML-icons PUBLIC
   "-//IETF//ENTITIES icons for HTML//EN">
 %HTML-icons;
+-->
 
 <!--================ Entities for math symbols ============================-->
 
 <!-- ISO subset chosen for use with the widely available Adobe math font -->
 
+<!--@@
 <!ENTITY % HTML-math PUBLIC
   "-//IETF//ENTITIES Math and Greek for HTML//EN">
 %HTML-math;
+-->
 
 <!--=================== Text Markup =======================================-->
 
@@ -297,7 +305,7 @@
 -->
 
 <![ %HTML.Deprecated [
-    <!ENTITY % linkName "name NAME #IMPLIED -- named link end --">
+    <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --">
 ]]>
 
 <!ENTITY % linkName "">
@@ -1021,5 +1029,4 @@
         >
 
 <!-- The END -->
-]>



Other than that, it seems to be a pretty clean superset of the 2.0
DTD.

Then I started validating some of the "Welcome to Arena" documents.

I have added the html3 dtd to the validation service so you can check
stuff for yourself.

http://www.hal.com/%7Econnolly/html-test/service/validation-form.html

I found a few easily explained boo-boos and typos, but then I found
one that really baffled me.

Here's the one that baffles me:

http://info.cern.ch/hypertext/WWW/Arena/tour/math2.html


sgmls: SGML error at -, line 19 at ">":
       BOX end-tag implied by OVER start-tag; not minimizable
sgmls: SGML error at -, line 19 at ">":
       MATH end-tag implied by OVER start-tag; not minimizable
sgmls: SGML error at -, line 19 at ">":
       TABLE end-tag implied by OVER start-tag; not minimizable
sgmls: SGML error at -, line 19 at ">":
       Out-of-context OVER start-tag ended HTML document element (and parse)

The offending line is:

<td><math>{(<left>e^ax^<over>1+{1<over>x}<right>)}</math>

I can't figure out why <over> is out of context there. It looks fine
to me!

Dan