Subject: [Tsvwg] XML DTD for RFC:s storage situation

From: Linus Walleij <[email-masked]>
Date: Mon, 20 Oct 2003 20:24:07 +0200 (MEST)

I have observed a phenomenon that I need to discuss with the TSVWG. In
some recently published RFC:s, XML is used to define transport formats.
The XML structure is specified in DTD:s, and the DTD:s are identified with
a generic IETF name and an URI.

The problem I've seen is that these URI:s, references in RFC:s are dying.
Take for example:

RFC3080 "BEEP": http://xml.resource.org/profiles/BEEP/beep.dtd (p 47)
RFC3367 "CNRP": http://ietf.org/dtd/cnrp-1.0.dtd (p 28)

None of these URI:s are in existance. The DTD:s cannot be retrieved from
these addresses. Now, I am writing an I-D, and the logical assumption
would be that the DTD should be stored at some ietf.ord/dtd/foo.dtd-like
URI. But these things doesn't seem to work in practice.

What is the correct way of referring to an IETF DTD, and where is it to be
stored? And who is to be communicated in order to have something actually
being deposited at ietf.org/dtd/foo.dtd?

See also the W3 URI "policy":
http://www.w3.org/Provider/Style/URI

Yours,
Linus Walleij

_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: Joe Touch <[email-masked]>
Date: Mon, 20 Oct 2003 13:28:26 -0700

> http://www.w3.org/Provider/Style/URI

Is there some reason the DTD shouldn't be included in an appendix to the 
RFC? That would at least solve the issue of its disappearance.

Joe

---

From: Marshall Rose <[email-masked]>
Date: Mon, 20 Oct 2003 16:03:07 -0700

> RFC? That would at least solve the issue of its disappearance.

the DTD is in the RFCs.

the confusion, i think, is this: those documents use URIs not for dereferencing
but for uniqueness.

as an aside, in the applications area, this topic arises about every three
months. perhaps it is time for someone to raise it there...

/mtr

---

From: Linus Walleij <[email-masked]>
Date: Tue, 21 Oct 2003 16:59:45 +0200 (MEST)

> > RFC? That would at least solve the issue of its disappearance.

Yes the DTD is in the RFCs. The point raised is technical: a validating
XML parser can not read RFC:s, it will dereference the URI given, if
given. It *MAY* have precompiled the IETF global entries (e.g. looking in
it's own program code to see if it has a PUBLIC "-//IETF//DTD BEEP//EN"
root type) but if this implementation doesn't, it *MAY* try to find it
using the URI.

Bottom line: the URI in the DTD is for machines, not humans. If it is not
present, validating machines will break.

Why hasn't it yet caused any problems? Nobody validates their XML files
(for performance, I guess). But it is sure permitted to do so, and the
URI:s should be resolvable.

RFC 3080 says:

Refer to this DTD as:

  <!ENTITY % BEEP PUBLIC "-//IETF//DTD BEEP//EN"
             "http://xml.resource.org/profiles/BEEP/beep.dtd">
   %BEEP;

And currently this will break almost any validating XML parser.

If this should be in the application area, fine, but I think it is a
transport matter too.

I am ready to write up an RFC saying that DTD:s *shall* be stored at
ietf.org/dtd if you want to. It could resolve this issue, but would
require additional administration from the IETF. Still, it seems like the
only reasonable thing to do.

Linus

---

From: Joe Touch <[email-masked]>
Date: Tue, 21 Oct 2003 15:58:51 -0700

> only reasonable thing to do.

The IETF might not be the best place for these. RFCs are authoritatively 
maintianed by the RFC Editor; protocol registries are maintained by IANA.

This sounds closer to an IANA registry than anything else.

Joe