![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - RE: Need help with Unique Particle Attribution Rule >Thread Next - Empty choice in a group ? Re: Need help with Unique Particle Attribution RuleTo: "Michael Kay" <mike@--------.---> Date: 1/7/2005 4:48:00 AM On Jan 7, 2005, at 9:02 AM, Burak Emir wrote: > (b,a?)*,c*,b? == your content model Your proof starts at the wrong place. It should be (a,b?)*,c*,b? though a similar proof may be available. On Jan 7, 2005, at 9:11 AM, Michael Kay wrote: > This is actually one of those examples where the Thompson/Tobin > algorithm used by XSV and Saxon doesn't give a UPA error, because the = > two particles for element "error" both refer to the same element > declaration. The Thompson/Tobin algorithm lets a content model through = > if the element declaration for each element can be determined > unambiguously, even if the particle can't.=A0 Not sure how I feel about that. Seems dangerous to relax such a core constraint, but I can't find any real problem with it. A hypothetical = problem is some system that treats particles as primitives -- maybe a data mapping solution that maps A to an object and A+ to an array of objects, so it cares which particle A is in. Does anybody do that? > I think the following content model is equivalent, and passes the > stricter version of the UPA test: > =A0 > <xsd:element name="systemProvider"> > =A0=A0=A0 <xsd:complexType> > =A0=A0=A0=A0=A0=A0=A0 <xsd:sequence> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:sequence minOccurs="0" = maxOccurs="unbounded"> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:element = ref="admin"/> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:element ref="error"= minOccurs="0"/> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 </xsd:sequence> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:sequence minOccurs="0"> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:element = ref="deviceTypeInfo" > maxOccurs="unbounded"/> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <xsd:element ref="error" = minOccurs="0"/> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 </xsd:sequence> > =A0=A0=A0=A0=A0=A0=A0 </xsd:sequence> > =A0=A0=A0 </xsd:complexType> > </xsd:element> I imagine that captures the intent, even though it removes the <admin><error><error> case. xan From mike@s... Fri Jan 07 15:03:39 2005 Received: from bart.w3.org ([128.30 | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
