- From: Chris Lilley <chris@w3.org>
- Date: Mon, 30 May 2005 15:08:23 +0200
- To: Henri Sivonen <hsivonen@iki.fi>
- Cc: www-validator@w3.org
On Saturday, May 28, 2005, 1:38:24 PM, Henri wrote: HS> On May 27, 2005, at 19:31, Chris Lilley wrote: >> Okay. I suggest that it should use a lookup table of namespaces (to >> detect that its SVG) and then, having determined that it is SVG, it >> could usefully get more info from baseProfile (Tiny, Basic or Full) and >> version (1.0, 1.1, 1.2). HS> What if the DTD does not match? HS> <!DOCTYPE svg "BogoDTD" "http://example.com/bogo.dtd"> HS> <svg version = "1.1" HS> baseProfile = "tiny" HS> xmlns = "http://www.w3.org/2000/svg"> HS> <bogo/> HS> </svg> Well then it wouldn't be valid :) as the DTD validator would report. More interesting are these cases <!DOCTYPE svg "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version = "1.1" baseProfile = "tiny" xmlns = "http://www.w3.org/2000/svg"> <bogo/> </svg> An SVG Tiny 1.1 file, which references the SVG Full 1.1 DTD. Tiny is a subset of Full, so all valid Tiny 1.1 content is also valid Full 1.1 content. <!DOCTYPE svg "-//W3C//DTD SVG 1.1 Tiny//EN" "http://example.com/bogo.dtd"> <svg version = "1.1" baseProfile = "tiny" xmlns = "http://www.w3.org/2000/svg"> <bogo/> </svg> Maybe bogo is a local copy of the DTD. That's allowed. HS> The basic problem is of course that DTD validation does not answer the HS> question "Does document D conform to grammar G?" but answers the HS> question "Does document D conform the grammar it happens to declare?" Right. The point is, how do you get the name of that grammar. I mean, people understand 'Valid XHTML 1.1" a lot more easily than "Valid "-//W3C//DTD XHTML 1.1//EN" subject to certain limitations". Looking at the name of the grammar, you can look at the namespace (which is authoritative) or, as Bjoern seems to suggest, look at the FPI. Looking at, for example, http://www.w3.org/TR/2001/REC-xhtml11-20010531/doctype.html#s_doctype I don't see any language, normative or informative, that states that "-//W3C//DTD XHTML 1.1//EN" is the formal public identifier. http://www.w3.org/TR/2001/REC-xhtml11-20010531/xhtml11_dtd.html#a_xhtml11_dtd is normative, but the information about the FPI is in a comment in the DTD. Usefully however there is an Oasis catalog file http://www.w3.org/TR/2001/REC-xhtml11-20010531/xhtml11_dtd.html#a_xhtml11_catalog Similarly http://www.w3.org/TR/SVG/svgdtd.html#DTD.1 is normative, but This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES SVG 1.1 Modular Framework//EN" SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-framework.mod" is contained in a comment in the DTD. (Aha!) Bjoern, are you asking for the SVG specifications that use DTDs to include an Oasic catalog file? Do you believe that would make the FPI normative? If so, could you explain what is non-normative about http://www.w3.org/TR/SVG/intro.html#Namespace HS> (RELAX NG validation would answer the first question.) Yes it would. I would be very interested to see a RelaxNG validator option. Note that in RelaxNG (and in W3C XML Schema) the pointer to the schema is not contained, necessarily, in the document instance. -- Chris Lilley mailto:chris@w3.org Chair, W3C SVG Working Group W3C Graphics Activity Lead
Received on Monday, 30 May 2005 13:08:31 UTC