Re: <insert> and external entity references

Benjamin C. W. Sittler (bsittler@mailhost.nmt.edu)
Tue, 19 Mar 1996 16:59:06 -0700 (MST)


Date: Tue, 19 Mar 1996 16:59:06 -0700 (MST)
From: "Benjamin C. W. Sittler" <bsittler@mailhost.nmt.edu>
To: www-html@w3.org
Subject: Re: <insert> and external entity references
In-Reply-To: <9603191923.AA17113@www10.w3.org>
Message-Id: <Pine.SUN.3.91.960319163344.24776A-100000@white>

On Tue, 19 Mar 1996, C. M. Sperberg-McQueen wrote:

> Excuse me if someone explained this while I was not paying attention,
> but why are we talking about adding an INSERT tag with the semantics 'go
> find this file or document, and insert it here', when SGML already has
> the mechanisms needed for this, in the form of entity references?  Why
> not just start writing, requesting, or demanding HTTP servers that
> actually understand and process references to external entities
> as defined by ISO 8879?
> 
> To illustrate, for those not yet conversant with all of SGML:  for
> this ...
> 
> > Now, my serious question is, at this time could one simply use
> >
> > <insert
> >         data="http://www.mysite.com/path/file.html"
> > >
> > </insert>
> 
> a normal SGML syntax would be this:
> 
> 1 in the document type definition,
> 
>   <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN" [
>   <!ENTITY myfile SYSTEM "http://www.mysite.com/path/file.html" >
>   ]>
> 
> 2 in the text itself,
> 
>   &myfile;
> 
> As has been pointed out, this depends on having an SGML parser
> which supports URLs as system identifiers.  For local documents,
> it is equally easy to use a normal file id:
> 
>   <!ENTITY myfile SYSTEM "/usr/me/public_html/file.html">
> 
> If it is desired (as some have proposed) that the external entity
> be parsed as a completely independent object, the required variation
> in the syntax is again already provided by SGML:  just declare
> the external entity as a SUBDOC (i.e. a free-standing document, to
> be parsed on its own, not as part of the current document).
> 
>  <!ENTITY myfile SYSTEM "/usr/me/public_html/file.html" SUBDOC>
> 
> N.B. not all SGML software supports the SUBDOC feature, just as
> not all SGML software understands URLs, which are not after all
> defined by ISO.  That shouldn't make too much difference, I think:
> we are talking about a change to HTTP and/or HTML, and that means
> rewriting at least some software.
> 
> Is there an advantage to inventing a new notation for inclusion
> of documents and document fragments, rather than using the
> existing notation?  Or is it just not widely known that notation
> for such inclusion already exists and need only be adopted, instead
> of being invented?

I think this is very useful for *including* other HTML files, but that's 
different from *embedding* one dcoument in other. I would, for example, 
like to be able to embed one version of HTML in another. I would even 
like to be able to embed an entirely different document type, for a 
completely compound document architecture:

homepage.html:
<!doctype HTML system "html2.dtd" -- uses INSERT -->
<title>my homepage</>
<insert type="text/html; version=4" code="/pub/banner.html" align=MIDDLE 
        width="70%">
   <p -- Alternate text for dumb (pre-HTML 4) browsers, maybe an imagemap 
of a rendered version of /pub/banner.html -->
      ...
</insert>

Benjamin C. W. Sittler