Re: HTML 4.0/SGML, (#PCDATA)* problem in TEXTAREA

Holger Wahlen (wahlen@ph-cip.Uni-Koeln.DE)
Wed, 30 Jul 1997 02:24:34 +0200

Date: Wed, 30 Jul 1997 02:24:34 +0200
Message-Id: <>
From: wahlen@ph-cip.Uni-Koeln.DE (Holger Wahlen)
Subject: Re: HTML 4.0/SGML, (#PCDATA)* problem in TEXTAREA

Responding to Neil St. Laurent, Paul Prescod wrote:

| > Putting the additional * on seems to break the content model because
| > now technically we're allowed zero or more and an already possibly
| > empty PCDATA.
| I don't see any problem with 0 or more of 0 or more 
| characters. This is also valid:
| <!element TEST - - ((((#PCDATA)*)*)*)>

I don't see any problem with this either, nor do I see why
there should be any asterisks at all then;  because of the
latter, I support Dave Raggett's proposal to replace
(#PCDATA)* by (#PCDATA) in the DTD consistently (posted on

By the way, this is not only a question of consequence, but
there's also a, let's say, didactic aspect. As you may
remember, I asked whether there's a difference between the
two here on Saturday; the reason why I was in doubt was that
all SGML introductions I've seen only use (#PCDATA) in their
example content models, while I kept finding (#PCDATA)* in
the HTML DTDs. Confusing for an SGML beginner like me, hence
I thought there might be some subtle difference I failed to
see - that #PCDATA might really mean one or more characters,
for example. I think it could help other newbies if that
simple change was made, and perhaps also a remark that
#PCDATA can also mean 0 characters was added to the HTML

Speaking about that, is there a way to require at least one
character? After all, if TITLE doesn't need to have any
actual content, for instance, where's the use of its being

____  |__|   / Holger   //  ____
      |  |/|/  Wahlen  //