Validation issue with the xsi namespace

Hi all,

If I define the following prefixes in my RDFa document
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xmlns:owl="http://www.w3.org/2002/07/owl#">


The W3C validator [1] returns an error:
Line 3, Column 55: value of fixed attribute "xmlns:xsi" not equal to
default.
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance#"

while xmlns:xsd does not produce such an error.

Removing the # in the end of the xsi prefix fixes the error, but I
wonder if it's correct to do so to see prefixes finishing by / or #.

[2] says:
> Schema Component Constraint: xsi: Not Allowed
> The {target namespace} of an attribute declaration, whether local or
> top-level, must not match http://www.w3.org/2001/XMLSchema-instance
> (unless it is one of the four built-in declarations given in the next
> section).
> Note: This reinforces the special status of these attributes, so that
> they not only need not be declared to be allowed in instances, but
> must not be declared. It also removes any temptation to experiment
> with supplying global or fixed values for e.g. xsi:type or xsi:nil,
> which would be seriously misleading, as they would have no effect.
Is that related to the above issue?

regards,
Stéphane.

[1] http://validator.w3.org/check
[2] http://www.w3.org/TR/xmlschema-1/#no-xsi

Received on Thursday, 22 January 2009 11:43:49 UTC