- From: Murray Altheim <murray@spyglass.com>
- Date: Fri, 20 Sep 1996 15:49:49 -0500
- To: galactus@htmlhelp.com (Arnoud "Galactus" Engelfriet)
- Cc: www-html@w3.org
galactus@htmlhelp.com (Arnoud "Galactus" Engelfriet) writes:
>In article <v02110102ae677bf46636@[140.186.34.50]>,
>murray@spyglass.com (Murray Altheim) wrote:
>> ><!-- hello--->
>>
>> The latter. Check also
>>
>> http://www.stonehand.com/doc/comments.html
>
>Yes, I've read that. They all state "comments are surrounded by '--'
>and do not contain '--'". I can *not* find anything that explicitly
>states the last character of a comment may not be '-'.
>
>I suppose most parsers just strtok(NULL, "--") but is that the
>correct behaviour?
The parser locates the start of the comment declaration (MDO), then parses
pairs of comment delimiters (COM = "--") containing valid content (white
space or valid SGML characters). Your example
<!-- hello--->
parses to:
"<!" MDO
"--" COM
" hello" SGML character* | s (space)
"--" COM
"->" #### invalid: only s and comment allowed
in comment declaration
In your example, the first instance of the second COM occurs right after
"hello", leaving the "->" dangling.
The nsgmls error message means that only s (whitespace) and comments ("--
text --" is an example of a comment) are allowed in a comment declaration.
You can check page 390-391 of Goldfarb's "The SGML Handbook" to confirm.
The parser is scanning forward for the next instance of COM, not for the
next instance of "-->", which has no singular significance in a comment
declaration; it is simply the concatenation of a COM and MDC (">"); that's
why parsers that look for "-->" are making an error. It is perfectly
SGML-legal to write a comment declaration such as:
<!-- hello --
>
Murray
```````````````````````````````````````````````````````````````````````````````
Murray Altheim, Program Manager
Spyglass, Inc., Cambridge, Massachusetts
email: <mailto:murray@spyglass.com>
http: <http://www.stonehand.com/murray/murray.html>
"Give a monkey the tools and he'll eventually build a typewriter."
Received on Friday, 20 September 1996 15:46:42 UTC