[DOCTYPE] HoTMetaL Pro generates HTML that triggers standard mode

RESOLVED FIXED in mozilla0.9.5



19 years ago
18 years ago


(Reporter: waterson, Assigned: dbaron)


Dependency tree / graph

Firefox Tracking Flags

(Not tracked)


(Whiteboard: [Hixie-P5])



19 years ago
The above site is clearly not rendered as the author had intended (notice the
gaps between images along the left-hand navigation column). It turns out the web
page is being rendered in standard mode because of this doctype declaration:

   <!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO \
          6.0::19990601::extensions to HTML 4.0//EN" "hmpro6.dtd">

Since this HTML is generated with a fairly popular tool, I'm concerned that
there may be a significant sample of content that we'll render "incorrectly"
(that is, not as the author had intended).

This may be an evangelism issue, or it may be a parser doctype detection issue.
ekrock et. al., it's your call.


19 years ago
Keywords: 4xp
The test page
shows that this FPI is triggering standard mode.

This should be fixed by the patches on bug 44340.
My thoughts on evangelism's limits: basically, any time that an authoring tool 
with any market share at all has generated something bogus, I consider 
evangelism futile for addressing the problem. Even if you evangelize the 
authoring tool vendor to fix whatever it is about their tool that's causing the 
problem, it doesn't retroactively fix all the pages on the web that were 
generated with the tool. (I'm of course in favor of contacting the tool vendor 
and asking them to fix whatever's wrong so the amount of bad HTML on the web 
doesn't increase, but you have to take the legacy content as a given.) Basically 
I think evangelism of bad HTML/CSS/JS has a chance of solving problems when 
particular sites have made some relatively unique goof, not when an authoring 
tool has been propagating a mistake worldwide.

Please explain: what is it about the above DOCTYPE declaration that causes us to 
go into standard layout mode?

IIUC, this is a good example of why having all unknown DOCTYPEs send us into 
standard mode could be risky (as desirable as that would be from a forward 
compatibility with future DOCTYPEs standpoint). We've never done a comprehensive 
survey to find out all the DOCTYPEs out there on the web; we don't even 
currently have a list of all the DOCTYPEs output by authoring tools.

Nominating for RTM. What's the lowest-risk way of fixing this bug?

Marking [DOCTYPE] for easy searching. Note related bug 55264 and bug 55263.
Keywords: rtm
Summary: HoTMetaL Pro generates HTML that triggers standard mode → [DOCTYPE] HoTMetaL Pro generates HTML that triggers standard mode
I think it's triggering standard mode because it contains the string "HTML 4.0" 
without the string "Transitional".  The last time I looked at the doctype 
parsing code it was using heuristics like that rather than just comparing whole 
strings.  I didn't like that approach, so I wrote the patch in bug 44340.

I agree that making unknown DOCTYPES trigger standard mode is risky at this 
stage.  That's why I proposed 13 months ago that we do immediately (see both my 
1999-09-01 comments on bug 1312).

Comment 5

19 years ago
This is fixed by the patch that I've added to bug 42525. The PDT has elected not 
to accept these changes.

Comment 6

19 years ago
Since 42525 was checked into the branch, seems like this bug should be closed as
a dup of it.  Perhaps that's not true because 42525 morphed about 18 times.  In
any case, 42525 has happened and that leaves this bug without a unique patch.
Can you update it to be a dup or explain what's unique about this bug?  If
you're working on it, please update the whiteboard with [rtm need info] or put
in [rtm-] if you're not going to work on it.
Whiteboard: [need minus]

Comment 7

19 years ago
rtm-, not being worked on.
Whiteboard: [need minus] → [rtm-]

Comment 8

18 years ago
My company uses HotMetal alot.  We are now going through and removing the 
DOCTYPE that HotMetal adds to the file.  Could some explain or point me to a 
link how the DOCTYPE works and why HotMetal's DOCTYPE does not work?
This has nothing to do with HoTMetaL's DOCTYPE not working.  It's just a bug in

Comment 11

18 years ago
updated qa contact.
QA Contact: janc → bsharma
Keywords: mozilla0.9.1
Reassigning to dbaron per lack of comments.

I think this was actually done on purpose, btw, with the idea that HoTMetaL Pro 
actually generated "standards-compliant markup"...
Assignee: rickg → dbaron
Whiteboard: [rtm-] → [Hixie-P5]
No, it's not on purpose, it's because the DOCTYPE contains "HTML 4.0" and
doesn't contain "Transitional".
Fix checked in 2001-09-08 11:37 PDT (see bug 55264).
Last Resolved: 18 years ago
Resolution: --- → FIXED


18 years ago
QA Contact: bsharma → moied
You need to log in before you can comment on or make changes to this bug.