Re: SGML declarations for subdocuments

Subject: Re: SGML declarations for subdocuments
From: Matthias Clasen <clasen@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 22 Oct 1999 22:35:28 +0200
> 
> > jade already allows you to get most of the DTDDECL functionality
> > by using an SGML declaration reference according to the WWW extensions.
> 
> Hmmm....  this is bizarre.  Where are these WWW extensions defined?

Its the second technical corrigendum to ISO 8879, you can find a link
on the SGML Web page, in the SGML revision section, I don't have the 
url at hand.

> 
> Does it work with SGML documents or XML documents?  
> 

Would it be of much use for XML ? XML uses a fixed declaration and has
a PI to announce itself instead of the <!SGML ...> declaration, doesn't it?

> > You can start your document with
> > 
> > <!SGML name PUBLIC pubid>
> > 
> > and have a PUBLIC catalog entry mapping pubid to a sysid containing
> > the body of the declaration (ie everything between `<!SGML' and `>').
> 
> Wierd.  What is the purpose of 'name' in this case?
> 

You can think of it as the name of the implicitly declared external entity.

> So if I had an SGML declaration with a public id of '-//foo//Foo Decl',
> I could say:
> 
>   <!SGML foo PUBLIC '-//foo//Foo Decl'>
>   <!doctype foo PUBLIC '-//foo//Foo DTD'>
> 
> And all would work as expected?

If you put either

PUBLIC '-//foo//Foo Decl' '/path/to/decl'

or 

SGML foo '/path/to/decl'

in your catalog, yes.

> 
> Well, it's still inferiour to DTDDECL (bless you for implementing
> that) because it requires the document *authors*, rather than the
> infrastructure maintainers (i.e., catalog maintainer) to add this
> little wierd frob.

I guess for authors it doesn't matter if they have to write
<!DOCTYPE docbook ... or <!SGML docbook><!DOCTYPE docbook ...
its a magic incantation in any case. And I would expect it to be
hidden in a document skeleton. 

But it is *much* easier to implement than DTDDECL, since <!SGML is 
a fixed string which doesn't vary with the selected declaration, 
unlike <!DOCTYPE. So it may have been a wise decision of James not to
implement DTDDECL. He just should have told us about the neat trick
with the SGML catalog entry... 


-- 
Matthias Clasen, 
Tel. 0761/203-5606
Email: clasen@xxxxxxxxxxxxxxxxxxxxxxxxxx
Mathematisches Institut, Albert-Ludwigs-Universitaet Freiburg


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread