Re: Error Message Feedback: "valid 1.1"

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