Hi Alberto, Method getAttName() is not implemented in base class XMLAttDef. It's only implemented in class SchemaAttDef.
Is there any way of extracting namespace/prefix information from XMLAttDef? Many thanks for replying to me... Nicolas -----Original Message----- From: Alberto Massari [mailto:[EMAIL PROTECTED] Sent: Thursday, March 02, 2006 11:08 AM To: [email protected] Subject: RE: Attribute namespace info through PSVI. Please help...! Hi Nicolas, At 02:50 PM 3/1/2006 +0200, Nicolas Tsokas wrote: >Hi Alberto... > >Thanks indeed for your answer... > >Yes, I've tried getAttName()... And it always gives me a pointer to >an invalid QName object. I mean qname->getPrefix(), qname->getLocalPart(), >etc. they all cause an exception... That's strange, as I have used it successfully. >Here's my code: (the previous part of the code is the one you posted >on xerces-c mail archives on 02 Feb 2005)... > >ComplexTypeInfo* pComplexType = pSchemaTypes->get(typeKey.getRawBuffer()); >if (!pComplexType->hasAttDefs()) > return; > >SchemaAttDefList& attDefList = > (SchemaAttDefList&)pComplexType->getAttDefList(); >unsigned int attCount = attDefList.getAttDefCount(); >for (unsigned int i=0; i<attCount; i++) >{ > SchemaAttDef& attDef = (SchemaAttDef&)attDefList.getAttDef(i); > attributes->add(attDef.getFullName()); > const QName* qnm = attDef.getAttName(); > const XMLCh* aaa = qnm->getPrefix(); >} Just to double check; can you remove the casts and work directly off the virtual table (this is the code I have been using in my app)? Like this: XMLAttDefList& attDefList = pComplexType->getAttDefList(); unsigned int attCount = attDefList.getAttDefCount(); for (unsigned int i=0; i<attCount; i++) { XMLAttDef& attDef = attDefList.getAttDef(i); attributes->add(attDef.getFullName()); const QName* qnm = attDef.getAttName(); const XMLCh* aaa = qnm->getPrefix(); } Hope this helps, Alberto >Thanks again Alberto... I really appreciate your help. > >Nicolas > > > > >-----Original Message----- >From: Alberto Massari [mailto:[EMAIL PROTECTED] >Sent: Wednesday, March 01, 2006 2:32 PM >To: [email protected] >Subject: Re: Attribute namespace info through PSVI. Please help...! > >Hi Nicolas, > >At 02:00 PM 3/1/2006 +0200, Nicolas Tsokas wrote: > >Hi everyone, > > > >I'm trying to obtain info about an element using > >PSVI (trying to resolve allowed children and attributes > >for that specific element). > > > >I obtain a pointer to the corresponding > >ComplexTypeInfo object which describes the element. Then I > >get the names and namespaces of the allowed > >children for that element by using ComplextTypeInfo's > >elementAt(index) method and by obtaining > >pointers to SchemaElementDecl objects. > > > >I have a problem with the attributes, though: > >I get the list of attributes through > >getAttDefList() method of the ComplexTypeInfo object. > >Then I obtain a SchemaAttDef for each attribute. > >SchemaAttDef gives the attribute's name > >through its method getFullName(), but I cannot > >figure out any way of finding their namespaces > >(or namespace prefixes). Am I missing something?... > >Have you tried with SchemaAttDef::getAttName()? >The QName* it returns should give you prefix, local name and namespace URI. > >Alberto > > > > >Can anybody please help me? > > > >Thank you so much in advance. > > > >Nicolas > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
