Identity-constraints, attributes and lax/skip wildcards

Hi,

how to handle the following scenario?

- an attribute was validated against a "skip" wildcard
- OR an attribute was validated against a "lax" wildcard and no
  corresponding declaration was existent
- an IDC field evaluated to such an attribute

Validation rule "Identity-constraint Satisfied" says:

"3 For each node in the ·target node set· all of the {fields}, with that
node as the context node, evaluate to either an empty node-set or a
node-set with exactly one member, which must have a simple type"

Should such an attribute have a simple type? Should we fall back
to "anySimpleType" here - similar to elements, where we fall back to
"anyType" if the wildcard was "lax"?

Example:

Schema:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="foo">
    <xsd:complexType>
      <xsd:anyAttribute namespace="##any" processContents="skip"/>
    </xsd:complexType>
    <xsd:key name="aKey">
      <xsd:selector xpath="."/>
      <xsd:field xpath="@bars"/>
    </xsd:key>
  </xsd:element>
</xsd:schema> 

Instance:
<foo bar="abc"/>

XSV 2.8 reports:

"missing one or more fields [<XSV.util.xpath.XPath instance at
0x0131A120>] from key {None}aKey

while Xerces-J 2.6.2 and MSXML 4.0 both eat it.

Regards,

Kasimier 

Received on Tuesday, 26 April 2005 17:36:07 UTC