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

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 UTC