Discussion:
Required space in marked section declarations?
(too old to reply)
André Gillibert
2007-09-29 16:37:10 UTC
Permalink
Is <![RCDATA[hello]]> a valid marked section (with the reference concrete
syntax), or is a whitespace character (SPACE, RE, RS or SEPCHAR) or
comment necessary before the status keyword?

From the references I found about SGML such as
<ftp://ftp.ifi.uio.no/pub/SGML/productions>, it seems that this spacing
character (or a comment) is necessary.
[97] status keyword specification (10.4.2, 393:1) =
( *( +ps [65],
( status keyword [100]
| "TEMP" ) ),
*ps [65] )
However, I found that:
1) Some people don't put this spacing character (ok, it proves nothing).
2) Validators and tools I've used (such as SP or the W3C validator) accept
<![RCDATA[hello]]> without warning.
3) XML, which is supposed to be, more or less, a subset of SGML, requires
a very strict syntaxic subset for marked sections, *without* spacing
character.
[18] CDSect ::= CDStart CData CDEnd
[19] CDStart ::= '<![CDATA['
[20] CData ::= (Char* - (Char* ']]>' Char*))
[21] CDEnd ::= ']]>'
So, is this spacing character required?
--
You can contact me at <***@yahoDELETETHATo.fr>
Peter Flynn
2007-09-29 21:47:23 UTC
Permalink
Post by André Gillibert
Is <![RCDATA[hello]]> a valid marked section (with the reference
concrete syntax), or is a whitespace character (SPACE, RE, RS or
SEPCHAR) or comment necessary before the status keyword?
From the references I found about SGML such as
<ftp://ftp.ifi.uio.no/pub/SGML/productions>, it seems that this spacing
character (or a comment) is necessary.
[97] status keyword specification (10.4.2, 393:1) =
( *( +ps [65],
( status keyword [100]
| "TEMP" ) ),
*ps [65] )
The required leading parameter separator certainly says so, but a few
tests with parsers here show that nsgmls, PAT, and Omnimark do not flag
an error if it is missing. I think this is one of those grey areas of
SGML which are honoured more in the breach than the observance. Unless
there is some additional TC hiding in a dark and dirty corner that I
haven't found.
Post by André Gillibert
1) Some people don't put this spacing character (ok, it proves nothing).
2) Validators and tools I've used (such as SP or the W3C validator)
accept <![RCDATA[hello]]> without warning.
I suggest we all pretend that ps+ reads ps* (the use of +ps and *ps in
your reference document is puzzling: you might want to use
http://www.hbingham.com/sgmlsyn/sgmlsyn.htm instead).
Post by André Gillibert
3) XML, which is supposed to be, more or less, a subset of SGML,
requires a very strict syntaxic subset for marked sections, *without*
spacing character.
[18] CDSect ::= CDStart CData CDEnd
[19] CDStart ::= '<![CDATA['
[20] CData ::= (Char* - (Char* ']]>' Char*))
[21] CDEnd ::= ']]>'
So, is this spacing character required?
Yes in theory: no in practice. Perhaps we should discuss this over beer
at next summer's Extreme Markup in Montreal :-)
This is Usenet :-)

///Peter
André Gillibert
2007-09-30 10:08:14 UTC
Permalink
Post by Peter Flynn
The required leading parameter separator certainly says so, but a few
tests with parsershere show that nsgmls, PAT, and Omnimark do not flag
an error if it is missing. I thinkthis is one of those grey areas of
SGML which are honoured more in the breach than theobservance.
Thanks for your reply.
Following the principle of being conservative in what I produce and
tolerant in what I recieve, I should probably include this whitespace in
documents I produce, and, if I've to write a SGML parser, I would accept
the marked section declaration without whitespace.
Post by Peter Flynn
This is Usenet :-)
Note that it's just contact information. In no way is it an encouragement
to reply be e-mail.
Since it's not the first time it causes confusion, I've just changed my
signature.
--
If you've a question that doesn't belong to Usenet, contact me at
<***@yahoDELETETHATo.fr>
Loading...