[Home] [By Thread] [By Date] [Recent Entries]
Hi,
It's not valid because the field xpath is only allowed to return zero or one
node relative to the selector xpath, and in this case it would return two.
(Validation Rule: Identity-constraint Satisfied, part #3) [1].
I can't think of a way to do this with the XML you've got, but if you
changed the attributes into child elements, as in:
<anElement>
<port>123</port>
<debug-port>aaa</debug-port>
</anElement>
<anElement>
<port>abc</port>
<debug-port>123</debug-port>
</anElement>
you could use:
<xs:unique name="port">
<xs:selector xpath="anElement/port|anElement/debug-port"/>
<xs:field xpath="."/>
</xs:unique>
(You can't use anElement/@port|anElement/@debug-port in the selector because
you are not allowed to use the attribute axis in the selector.)
Hope that (sort of) helps,
Priscilla
------------------------------------
Priscilla Walmsley
Author, Definitive XML Schema
http://www.datypic.com
------------------------------------
[1] http://www.w3.org/TR/xmlschema-1/#cvc-identity-constraint
> -----Original Message-----
> From: Michael Kay [mailto:mike@s...]
> Sent: Wednesday, March 21, 2007 2:11 PM
> To: smcardle@s...; xml-dev@l...
> Subject: RE: How to Unique contraint
>
> >
> > Does anybody know how to do this so it looks something like
> > the following INVALID constraint, but I hope you get the picture.
> >
> > <xs:unique name="port">
> > <xs:selector xpath="anElement"/>
> > <xs:field xpath="@debug-port | @port"/> </xs:unique>
> >
>
> What makes you think this constraint is invalid? It looks OK to me.
>
> Michael Kay
> http://www.saxonica.com/
>
>
> ______________________________________________________________
> _________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@l...
> subscribe: xml-dev-subscribe@l...
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
>
>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



