This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
canSetParameter can return true for value 'sampleSchemaLocation' since the 'schema-location' parameter could be set with this value. However, setParameter (with value 'sampleSchemaLocation') may not be successful since this parameter is ignored unless the "schema-type" parameter value is set. In this case, a NOT_SUPPORTED_ERR may be raised. clarification is being requested from the WG
IMO canSetParameter with any URI should also be able to return false for non-validating implementations.
There was a brief discussion related to this test on the WG conference call on 18 Feb 2004. The general feeling was that you should not throw an exception on setParameter if canSetParameter returned true. The 'schema-location' parameter is optional, so non-validating implementations can just not support the parameter. The note on ignoring 'schema-location' when 'schema-type' was not set eliminates the need to spell out a specific sequence (set schema-type first, then schema-location). It seems reasonable that 'schema-location' would also be ignored if 'validate' and 'validate-if- schema' are false. At this point, I believe the test is correct. I'm reassigning the bug to Phillippe so he emailed on any additional discussion. p.s. I raised issues on the description of this parameter in http://lists.w3.org/Archives/Public/2004JanMar/0048.html
In any case, having canSetParameter return false for schema-location seems reasonable for an imp that does not support Schema. The test should either have implementationAttribute schemaValidating, or allow canSetParameter for a URI to return false. Incidentally, the assertion that setting schema-location to a non-string, non-null type (boolean true in this case) must fail is not supportable under a dynamically-typed language such as Python. (Metaclasses allow an object to be a both boolean and string!)