W3C home > Mailing lists > Public > www-validator@w3.org > April 2008

Re: xsi:schemaLocation considered invalid per XHTML 1.1 DTD?

From: Frank Ellermann <nobody@xyzzy.claranet.de>
Date: Fri, 18 Apr 2008 02:01:48 +0200
To: www-validator@w3.org
Message-ID: <fu8o7t$r3t$1@ger.gmane.org>

Olivier Thereaux to the HTML editor:
 
> Forwarding some feedback from validator users:
> http://www.w3.org/Bugs/Public/show_bug.cgi?id=5329
> http://www.w3.org/Bugs/Public/show_bug.cgi?id=5642
 
> It looks indeed like the XHTML 1.1 DTD may need to
> be updated to allow xsi:schemaLocation.

Hi, that's an interesting bug, are there any "DTD-doctors"
in the W3C ?  It is fairly easy to find the Structure
module DTD, but I have no clue how it is supposed to work:

| <!-- Declare a parameter entity %XSI.prefix as a prefix to use for XML
|      Schema Instance attributes.
| -->
| <!ENTITY % XSI.prefix "xsi" >
|
| <!ENTITY % XSI.xmlns "http://www.w3.org/2001/XMLSchema-instance" >
|
| <!-- Declare a parameter entity %XSI.xmlns.attrib as support for the
|      schemaLocation attribute, since this is legal throughout the DTD.
| -->
| <!ENTITY % XSI.xmlns.attrib
|      "xmlns:%XSI.prefix;  %URI.datatype;   #FIXED '%XSI.xmlns;'" >
|
| <!-- This is a placeholder for future XLink support.
| -->
| <!ENTITY % XLINK.xmlns.attrib "" >
|
| <!-- This is the attribute for the XML Schema namespace - XHTML
|      Modularization is also expressed in XML Schema, and it needs to
|      be legal to declare the XML Schema namespace and the
|      schemaLocation attribute on the root element of XHTML family
|      documents.
| -->
| <![%XHTML.xsi.attrs;[
| <!ENTITY % XSI.prefix "xsi" >
| <!ENTITY % XSI.pfx "%XSI.prefix;:" >
| <!ENTITY % XSI.xmlns "http://www.w3.org/2001/XMLSchema-instance" >
|
| <!ENTITY % XSI.xmlns.attrib
|      "xmlns:%XSI.prefix;  %URI.datatype;    #FIXED '%XSI.xmlns;'"
| >
| ]]>
| <!ENTITY % XSI.prefix "" >
| <!ENTITY % XSI.pfx "" >
| <!ENTITY % XSI.xmlns.attrib "" >

There are three definitions of %XSI.prefix; - 1st a general "xsi",
2nd a conditional "xsi" if %XHTML.xsi.attrs; is INCLUDE, finally
a 3rd "".  Likewise there are three %XSI.xmnls.attrib; 

I'd have an intuitive idea what goes on, if the empty definitions
come first, followed by conditional non-empty redefinitions, and
no 3rd definition.  As it is I'm lost what it does. 

And who is supposed to set the %XHTML.xsi.attrs; INCLUDE-switch ?
I don't see it in the XHTML 1.1 DTD.

 Frank
Received on Thursday, 17 April 2008 23:59:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 25 April 2012 12:14:29 GMT