Thanks Michael,
 
Adding a default namespace to the input schema did the trick and my code is
working now - so, this isn't a bug.
 
Cheers,

David

  _____  

From: Michael Glavassevich [mailto:[EMAIL PROTECTED] 
Sent: Friday, 14 November 2008 15:47 PM
To: j-users@xerces.apache.org
Subject: Re: error when constructing XSModelGroupImpl and XSObjectListImpl -
invalid particle count



Hi David,

The schema you've attached is invalid. The value of the "ref" attribute is a
QName. Since you have no declaration for the default namespace (i.e.
xmlns="http://foo.com/#";) in your schema those QNames have no namespace and
thus point to nonexistent declarations which couldn't be referred to even if
they existed without a <xs:import>. If you give the XSLoader a broken schema
don't be surprised if you get a busted XSModel back. The behaviour of such a
model is undefined.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

<[EMAIL PROTECTED]> wrote on 11/13/2008 11:01:14 PM:

> In using Xerces2-J 2.9.0 to parse and query XML Schema components in
> memory (ref: http://xerces.apache.org/xerces2-j/faq-xs.html#faq-9), 
> I have noticed what seems to be a bug when parsing the attached 
> schema, test.xsl. 
>  
> The instance of org.apache.xerces.impl.xs.XSModelGroupImpl created 
> for the fragment:
>             <xs:sequence>
>                 <xs:element ref="a"/>
>                 <xs:element ref="b" minOccurs="0" maxOccurs="1"/>
>                 <xs:element ref="c" minOccurs="1" maxOccurs="unbounded"/>
>             </xs:sequence>
> ...of test.xsl contains a ternary array XSParticleDecl[] fParticles 
> containing instances for each of the three xs:element declarations 
> in the sequence, however the corresponding fParticleCount attribute 
> (recording the number of particles in fParticles) seems to have not 
> been set, defaulting to 0. 
>  
> I discovered the problem via a call to getParticles() on org.apache.
> xerces.impl.xs.XSModelGroupImpl, which builds a new XSObjectListImpl
> via constructor XSObjectListImpl(XSObject[] array, int length), 
> where array is set to fParticles and length to fParticleCount. Using
> fParticles.length for the latter (in this case) solves the problem. 
> Attached is a test file to reproduce this behaviour.
>  
> If someone can confirm this as a bug, I'll submit it... thanks!
>  
> David

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to