Re: client side includes

At 2001-01-25T17:22+0100, Ignacio Javier wrote:-

> OK . I now think that the real semantics for client side includes are XML
> entities.
> Could be this a "hello world" of them?:
>
> ** archive myInterface.dtd **
> <!ELEMENT nullable (#PCDATA)>
> <!ENTITY mynavbarH SYSTEM "http://host/navbarHorizontal.html>
> <!ENTITY mypoll SYSTEM "http://host/cgi-bin/poll.cgi>
> ***********************
>
> ** any document **
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/Profiles/xhtml1-transitional.dtd">
>     <head>
>         <title>hello world</title>
>     </head>
> <body>
>     <p float="none">
>         <nullable xmlns="http://host/myInterface.dtd">&mynavbarH;</nullable>
[...]

Not quite. More like:-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd" [
  <!ENTITY mynavbarH SYSTEM "http://host/navbarHorizontal.html">
  <!ENTITY mypoll SYSTEM "http://host/cgi-bin/poll.cgi">
]>
<html xmlns="http://www.w3.org/Profiles/xhtml1-transitional.dtd">
...
&mynavbarH;
...

You could alternatively create a compound DTD including the entity
declarations, e.g.:-

<!ENTITY % xhtml.dtd
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "DTD/xhtml1-transitional.dtd">
%xhtml.dtd;
<!ENTITY mynavbarH SYSTEM "http://host/navbarHorizontal.html">
<!ENTITY mypoll SYSTEM "http://host/cgi-bin/poll.cgi">

[For all the details, please see
<http://www.w3.org/TR/REC-xml#sec-physical-struct>.]

However, a non-validating processor is under absolutely no obligation to
find and process entity declarations not present directly in the internal
subset. Furthermore, even if it processes the declarations (whether or not
they are in the internal subset) it need not insert the replacement text
where it finds references to them. Since most browsers are likely to be
non-validating, any support for external entities is therefore optional
for them. All we can do is push for such support, and preferably something
in the direction of validating processing. (At least the authors of some
browsers are now attempting to follow the relevant standards.)


Tim Bagot

Received on Thursday, 25 January 2001 13:37:32 UTC