- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Sun, 10 Apr 2005 01:30:40 +1000
- To: Marco Nef <nef@gmx.ch>
- CC: www-validator@w3.org
Marco Nef wrote:
> Checking one of my pages (e.g.
> http://validator.w3.org/check?uri=http%3A%2F%2Fwww.shima.ch%2Fnewzealand%2Fauckland_01.php)
> there is always an error message that is about one of the JavaScript
> scripts. Obviously there's an error in your application. Maybe you should
> just ignore any scripts.
No, there is no error with the validator in this case. It is your
document that is invalid, you simply do not understand the reasons.
The most common script error occurs with document.write() statements,
and is explained by the WDG.
http://htmlhelp.com/tools/validator/problems.html.en#script
However, those particular errors apply only to HTML 4.01, not XHTML
documents. Although, there are many other things you need to be aware
of if you are going to use XHTML, but I strongly recommend you switch
back to HTML 4.01, at least until you have a better understanding of
what you are getting yourself into.
Firstly, document.write() does not work for XHTML documents.
http://ln.hixie.ch/?start=1091626816&count=1
The only reason it may appear to work for you in existing browsers is
because you are using the incorrect MIME type (text/html).
http://www.hixie.ch/advocacy/xhtml
If you serve your document correctly as application/xhtml+xml, you will
find that the supporting browsers will choke on your validation errors
and simply not display the page.
To demonstrate: You will need a browser that supports XHTML, such as
Firefox, Mozilla or Opera. (IE *does not* support XHTML, so don't waste
your time with it)
1. Copy the markup that the browser recieves (Use view source in your
browser, don't use the PHP code which is executed by the server.)
2. Paste this markup into a new text document and save the file with a
.xhtml extension.
3. Open the file in your browser from your local file system
(ie. you don't upload to a server) and see the result.
If you are unhappy with the results, you will understand why using XHTML
is not as simple as you thought. Even if you fix the validation errors
so that browsers don't choke, your document.write() scripts will not
work. This should explain why you should switch back to HTML 4.01, at
least until you have a better understanding of the issues.
The documents I have referenced plus the the descriptions provided by
the validator should help you understand how to fix the errors.
--
Lachlan Hunt
http://lachy.id.au/
http://GetFirefox.com/ Rediscover the Web
http://GetThunderbird.com/ Reclaim your Inbox
Received on Saturday, 9 April 2005 15:30:53 UTC