[Ex-plain] Existing Explain-- Servers

Alan Kent ajk at mds.rmit.edu.au
Fri Apr 5 02:24:26 CEST 2002


On Thu, Apr 04, 2002 at 12:52:51PM +0100, Robert Sanderson wrote:
> 
> > I dislike 'authentication' being either #PCDATA or user/group/password.
> > This is generally bad DTD design. Worse, its an invalid DTD as the DTD
> > is ambiguous. Is <authentication></authentication> zero length PCDATA
> > or omitted user/group/password? SGML solved the problem by saying the
> 
> Hrm, Yes, I forgot about that :/  Thanks for finding it :)
> 
> I think the solution is to make it:
> 
> (#PCDATA | (user?, group?, password?)+)
> 
> ie, you must have either #PCDATA or at least one of user, group or 
> password in that order.

I would still consider this bad DTD design - if not illegal.
Its a mixed content model where PCDATA is not always legal.
I think it is generally accepted that you should either use
an element model (ie no PCDATA) or a mixed model such as
(#PCDATA|a|b|c)* but never a mixed content model such as (#PCDATA|a).
I think adding a wrapper element around the #PCDATA would also
make the intension clearer.

> > Also, is there a standard public/system identifier for the DTD?
> 
> Not at the moment.  I think we should wait until names get sorted out once 
> and for all before setting something like this.

I guess for XML namespaces, then there problem should not be a
<!DOCTYPE ..> line at all.

> > <indexInfo> 
> > <index id="DatabaseName" search="true" scan="true" sort="true"> 
> > <title>Database Name</title> 
> > <map primary="true"> 
> > <attr type="1">1</attr> 
> > </map> 
> > </index> 
> 
> You're specifying bib1 use of personal name to search for database name?

Actually you found a bug - I accidentally left out the attribute set.
I was actually using the Explain attribute set.

> It'd be nice if you could support the attribute set, but this may not be 
> possible I know.

I have not got around to it yet, but it should be OK.

Alan




More information about the Ex-plain mailing list