[Home] [By Thread] [By Date] [Recent Entries]


Cams Ismael <Ismael.Cams@s...> writes:

> What should be the behaviour when the optional tag <d> is missing. Both
> MSXML 4.0 and xsdvalid still check on the f1 attribute. So if we leave out
> the <d> tags in the example the file is invalid, because there are two
> <mayHaveDaughter> elements with a f1 attribute value 'c'. However with xsv
> no error is generated, and with XercesJ-2.3.0 I get following error: 'Not
> enough values specified for <unique> identity constraint specified for
> element'.
> 
> So my question is, if one of the optional elements is not available, should
> this element be ignored or not. The recs seems to be not clear about that.

I believe the REC [1] is clear on this:

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

This condition is satisfied for your modified instance -- some of the
fields yield a one-member node-set whose single member has a simple
type, some yield an empty node-set.

   "Call the subset of the *target node set* for which all the
   {fields} evaluate to a node-set with exactly one member which is an
   element or attribute node with a simple type the *qualified node
   set*."

OK, so in some cases you now find your target node drops out, because
one of its fields yields an empty-node set.  Since it's not in the
*qualified node set*, no error is possible, since the constraint is
xsd:unique, not xsd:key.

ht

[1] http://www.w3.org/TR/xmlschema-1/#section-Identity-constraint-Definition-Validation-Rules
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                      Half-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@c...
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member