Subject:Re: 'catalogueItem' and 'catalogueItem' violate the Unique Particle Attribution rule Author:Alberto Massari Date:30 Aug 2004 03:25 PM
there is indeed a problem with your schema (that the error message doesn't
help to understand... I'll file a request for a better error message with
the Xerces team).
For the record, the Unique Particle Attribution rule states that "A content
model must be formed such that during validation of an element information
item sequence, the particle component contained directly, indirectly or
implicitly therein with which to attempt to validate each item in the
sequence in turn can be uniquely determined without examining the content
or attributes of that item, and without any information about the items in
the remainder of the sequence"; that is, if we expand all the possible
branches that a definition allows, they all start with a different sequence.
In your schema you have 4 places where this condition is not satisfied:
ResultListType, CheckComplianceCommandOperandType and
NotificationDetailType fail because they have, between their choices, a
And both DocumentGroup and CatalogueItemMaintenanceCommandOperandType fail
because they are choices between, among others, CatalogueItemGroupType and
At last, CatalogueItemGroupType is defined as
Being "totalQuantityOfNextLowerLevelTradeItem" an optional item
(minOccurs="0"), it's not possible for the validator to determine if an
element "catalogueItem" children of one of the 4 types named above is
either part of a CatalogueItemGrouptType or a choice alternative to that group.
To fix this schema you should either make the
"totalQuantityOfNextLowerLevelTradeItem" mandatory (minOccurs="1") or
remove "catalogueItem" from the choices of DocumentGroup and
Subject:Re: 'catalogueItem' and 'catalogueItem' violate the Unique Particle Attribution rule Author:Alberto Massari Date:16 Sep 2004 10:30 AM
At 13.20 15/09/2004 -0400, stylus-studio-tech Listmanager wrote:
>From: "Jerry Sheehan"
>Thanks very much for the details. This is outstanding.
Thanks you for your kind words ;-)
>Just one follow up. You mentioned you would file this with the Xerces
>Team, is it possible you can give me a link to this discussion? Did you
>file it with any of the other validators?
I have sent a patch directly to the Xerces team, without using their bug
tracker. It should appear in the upcoming Xerces 2.6.
As for the other validators, Xerces-J is the only one reporting this error,
and, even if it doesn't name the complex type failing the validation, it
reports the line in the schema file where that type can be found.