Unique Particle Attribution and ECMA's CSTA phase 3 XML Schema

Greetings,

I am seeking clarification on Unique Particle Attribution
as it applies to an XML Schema specification from ECMA for their
CSTA phase 3 protocol.  In particular, I am using Apache's Xerces
2.0 C++ XML parser on ECMA's example for invoking a
CSTA-Make-Call service.  The Xerces-based application I am using
does a simple element and attribution count optioned to always
do validation with namespace processing enabled, schema processing
enabled, and full schema constraint checking enabled.  When
invoked, the Xerces application reports the following error:

Error...
   Message: 'callID and 'callID" violate the Unique Particle
            Attribution rule.

On further investigation I concluded that the following complexType
definition in ECMA's XML Schema for call-connection-identifiers may
be the root cause of the problem:

   <xsd:complexType name="ConnectionID">
     <xsd:choice>
       <xsd:element name="callID" type="csta:CallID"/>
       <xsd:element name="deviceID" type="csta:LocalDeviceID"/>
       <xsd:sequence>
         <xsd:element name="callID" type="csta:CallID"/>
         <xsd:element name="deviceID" type="csta:LocalDeviceID"/>
       </xsd:sequence>
     </xsd:choice>
   </xsd:complexType>

I've some questions to ask, and I would be grateful to each of you
if you could help me find answers to them.  My questions are:

1)  Is the complexType above in violation of the Unique Particle
Attribution Rule, and if so, why?

Appendix H, Analysis of the Unique Particle Attribution
Constraint (non-normative), in XML Schema Part 1: Structures,
identifies reasons for Unique Particle Attribution Rule
violations but I need to identify the exact rule that is
being violated, and I am having difficulty doing so.

2)  Is there a way to express a complexType for ConnectionID
above that allows (callID OR deviceID OR (callID AND deviceID))?

The attempt that follows does not prevent an empty ConnectionID
and as such will not satisfy what is being sought by ECMA in
their CSTA phase 3 XML Schema for call-connection-identifiers.

   <xsd:complexType name="ConnectionID">
     <xsd:sequence>
       <xsd:element name="callID" type="csta:CallID"
         minOccurs="0" maxOccurs="1"/>
       <xsd:element name="deviceID" type="csta:LocalDeviceID"
         minOccurs="0" maxOccurs="1"/>
     </xsd:sequence>
   </xsd:complexType>

3)   Does W3C's XML Schema task force know whether or not the
tool XMLSpy R4.1, as sited in the XML Schema Tools section,
reports Unique Particle Attribution rule violations?


Any and all help that you can provided would be greatly appreciated.

I thank each of you for your immediate attention to this matter.

Sincerely,
Patrick

Patrick G. Maggiulli
CRM Software Development, Avaya Labs
mailto:pgm@avaya.com    voice: 732 817 2038 

Received on Monday, 23 September 2002 15:27:36 UTC