Hi Michael, If I understand you correctly, I have done this, XSElementDeclaration xsElemDel = elemPSVI.getElementDeclaration(); XSTypeDefinition xsTypeDef = xsElemDel.getTypeDefinition(); XSComplexTypeDefinition xsComplexTypeDef; if (xsElemDel.getTypeDefinition().getTypeCategory() == XSTypeDefinition.COMPLEX_TYPE) { typeString = "Complex"; xsComplexTypeDef = (XSComplexTypeDefinition)xsElemDel.getTypeDefinition(); }
but xsComplexTypeDef is shown "cannot be resolved". So, I guess how to get hold of a XSComplexTypeDefinition is the problem. Is there other way to do so? thanks a lot, David On Sun, Jun 28, 2009 at 11:46 PM, Michael Glavassevich <mrgla...@ca.ibm.com>wrote: > getEnclosingCTDefinition() is only going to work for local element > declarations. A faster route than starting from the XSModel (which you can > only retrieve from the validation root anyway) would be to get the type > definition [1] from the ElementPSVI and walk to the XSParticle from there. > Note that when there are multiple XSParticles whose term is the same element > declaration determining which XSParticle matched requires that you also look > at the preceding elements in the instance document. In general you also need > to pay attention to wildcard particles (XSParticle.getTerm() -> XSWildcard). > > Thanks. > > [1] > http://xerces.apache.org/xerces2-j/javadocs/xs/org/apache/xerces/xs/ItemPSVI.html#getTypeDefinition() > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: mrgla...@ca.ibm.com > E-mail: mrgla...@apache.org > > jeff.gr...@gmail.com wrote on 06/28/2009 09:39:07 PM: > > > > Sorry to reply to my own post, but I forgot to mention that from the > > XSElementDeclaration you can get its enclosing complex type definition > > (using getEnclosingCTDefinition()) and from there work back to the > > particle for the element declaration. > > > > Jeff > > > > On Sun, Jun 28, 2009 at 6:36 PM, Jeff Greif<jgr...@alumni.princeton. > > edu> wrote: > > > From the ElementPSVI on the root of the document, you can get the > > > XSModel using getSchemaInformation. From there you can work your way > > > through the complex type definition to the XSParticle whose term is > > > the XSElementDeclaration in question, and get access to the > > > max/minOccurs info. > > > > > > Jeff > > > > > > On Sun, Jun 28, 2009 at 1:00 PM, govelogo<govel...@gmail.com> wrote: > > >> Hi Mukul, > > >> I think you are right. I could not find a way to get > > >> a XSComplexTypeDefinition from an ElementPSV. > > >> I am building parser between XML and MS Excel for some business > > analysts. To > > >> be able to present an sequence type inside the Excel template as > > required, I > > >> need to know which elements are of sequence type. Is an XSParticle the > only > > >> way to tell whether a element is a sequence or not? > > >> Thanks a lot, > > >> David > > >> On Sat, Jun 27, 2009 at 2:59 AM, Mukul Gandhi <gandhi.mu...@gmail.com > > > > >> wrote: > > >>> > > >>> Hi David, > > >>> Using the public APIs provided in, XSElementDeclaration it seems > > >>> you cannot retrieve occurrence indicator values (maxOccurs and > > >>> minOccurs) of an element declaration. > > >>> Perhaps somebody can correct me.. > > >>> > > >>> Just curious, why do you need to retrieve this information using an > > >>> API, as an end user facility? > > >>> > > >>> On Fri, Jun 26, 2009 at 10:59 PM, govelogo<govel...@gmail.com> > wrote: > > >>> > Hi there, > > >>> > I am trying to identify a complex type defined in a similar manner > as > > >>> > the > > >>> > following sketch of schema. I was hoping to be able to get the > > >>> > information > > >>> > from a XSElementDeclaration class retrieved from an ElementPSVI > class. > > >>> > However, it seems I have not found the right method to do it. > > >>> > <xs:complexType name="ArrayOfParameterType"> > > >>> > <xs:sequence> > > >>> > <xs:element name="item" type="ParameterType" nillable="true" > > >>> > minOccurs="0" > > >>> > maxOccurs="unbounded" /> > > >>> > </xs:sequence> > > >>> > </xs:complexType> > > >>> > Is there a way I can tell the minOccurs and maxOccurs of the > sequence of > > >>> > an > > >>> > element in using JAXP ? > > >>> > thanks, > > >>> > David > > >>> > > >>> > > >>> -- > > >>> Regards, > > >>> Mukul Gandhi > > >>> > > >>> --------------------------------------------------------------------- > > >>> To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org > > >>> For additional commands, e-mail: j-users-h...@xerces.apache.org > > >>> > > >> > > >> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org > > For additional commands, e-mail: j-users-h...@xerces.apache.org > >