[ZPT] Do people use local versions of tal, metal dtd's?

Martijn Pieters mj@digicool.com
Fri, 1 Jun 2001 07:47:25 +0200


On Thu, May 31, 2001 at 01:34:46PM -0500, Lynn Walton wrote:
> Do people who are using ZPT (or really in general any externally
> referenence dtd file) usually really reference the dtd on the external
> site as in
> <html xmlns:tal="http://xml.zope.org/namespaces/tal"
>       xmlns:metal="http://xml.zope.org/namespaces/metal"
>       metal:define-macro="master">
> or do they obtain the dtd and store it locally?   I mean I guess storing
> it locally might not be as good if it's changing, but doesn't not
> storing it locally make your entire zope site dependent on whether
> xml.zope.org is running properly?     I don't like being dependent on
> other sites. Yesterday I experienced the www.zope.org server being down
> for more than an hour, and experienced some down time the day before.
> My tracerouting and asking other colleages in different areas of the
> country to check lead me to conclude it really was the zope site down,
> not some hop along the way.

Namespcae URNs are only unique long names. They are not ment for
dereferencing, although there are web services that can provide you with a
catalog for that kind of thing. A namespace identifier has to be a URN to
make sure they are unique. What is to be found at the other end isn't
defined; it could be a DTD, it could a an XML Schema, or a human readable
document.

Only DTD URLs (as identified by a SYSTEM id in the <!DOCTYPE> tag) are
ment to be referenced. A validating parser will use that to verify if an
XML document conforms to the DTD and to expand entities.

For XHTML based Presentation Template documents, this means that some
parsers will try and retrieve the XHTML DTD from the www.w3c.org server.
However, the URNs for TAL and METAL will not be contacted.

Browsers that support XHTML (like Mozilla) trust their specialized parsers
to check for inconsistencies in retrieved XHTML documents; they even
adjust their behaviour based on what DTD is being used. Mozilla calls it
their 'quirk mode'; if you use a HTML Transitional DTD it'll try and
behave like a quirky Netscape 4 browser.

> A while back we were using BitStream's font technology and we had to put
> a link to their site to something.  They went down and it left those
> pages which referenced their site unrenderable.

Another example is the recent RSS 0.9 DTD being removed from Netscape.com.
All validating RSS parsers were broken, because the RSS spec does specify
a DTD.

Namespaces do not have the same problem, something the proponents of RSS
1.0 (which is namespace based) immediatly paraded around.

> Just wondering if other's share my concern and if so is it common place
> for organizations to store their own local versions?  Or am I supposed
> to "trust" that xml.zope.org will have the same uptime reliablility that
> my own servers do????

Many validating parsers do support a local catalogue for DTDs, usually
using the PUBLIC id of a DTD as the key.
-- 
Martijn Pieters
| Software Engineer  mailto:mj@digicool.com
| Digital Creations  http://www.digicool.com/
| Creators of Zope   http://www.zope.org/
---------------------------------------------