Problem solved! Thanks to everyone for an extremely fast response. I
just installed version 2.4 and it's working fine.

Josh

On Wed, Jul 14, 2004 at 02:15:53PM -0400, Jesse Pelton wrote:
> Right you are.  It should be safe to pull revision 1.21 of
> WFXMLScanner.cpp from
> http://cvs.apache.org/viewcvs.cgi/xml-xerces/c/src/xercesc/internal/WFXM
> LScanner.cpp, since the only change from the version in the 2.5 release
> addresses this bug.
> 
> -----Original Message-----
> From: John Merrells [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, July 14, 2004 2:03 PM
> To: [EMAIL PROTECTED]
> Subject: Re: problem with WFXMLScanner
> 
> 
> This is a bug in the 2.5 release code. DB XML users are advised to use
> the 2.4 code, or if they feel brave to pull the sources directly from
> CVS.
> 
> John
> 
> On 14 Jul 2004, at 19:01, Jesse Pelton wrote:
> 
> > That doesn't look like the current code.  What version of Xerces are 
> > you using?  What platform and compiler?
> >
> > -----Original Message-----
> > From: Joshua Theman [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, July 14, 2004 1:56 PM
> > To: [EMAIL PROTECTED]
> > Subject: problem with WFXMLScanner
> >
> > I hope this list is an appropriate place to ask this question; I've 
> > spent quite a bit of time grepping and reading the source, and I think
> 
> > this is my best bet.
> >
> > I'm trying to use the xerces-c library through the Sleepycat DB XML 
> > software package, and I consistently have an exception thrown from the
> 
> > following line in the WFXMLScanner class:
> >
> >     // check for duplicate namespace attributes:
> >     // by checking for qualified names with the same local part and 
> > with prefixes
> >     // which have been bound to namespace names that are identical.
> >     XMLAttr* loopAttr;
> >     XMLAttr* curAtt;
> >     for (unsigned int attrIndex=0; attrIndex < attCount-1; 
> > attrIndex++) {
> >         loopAttr = fAttrList->elementAt(attrIndex);
> >         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >         for (unsigned int curAttrIndex = attrIndex+1; curAttrIndex < 
> > attCount; curAttrIndex++) {
> >             curAtt = fAttrList->elementAt(curAttrIndex);
> >             if (curAtt->getURIId() == loopAttr->getURIId() &&
> >                 XMLString::equals(curAtt->getName(),
> > loopAttr->getName())) {
> >                 emitError
> >                 (
> >                     XMLErrs::AttrAlreadyUsedInSTag
> >                         , curAtt->getName()
> >                         , elemDecl->getFullName()
> >                 );
> >             }
> >         }
> >     }
> >
> > This is from the scanStartTagNS method in the WFXMLScanner.cpp file. 
> > The
> > method
> > fAttrList->elementAt is throwing an ArrayIndexOutofBoundsException. I
> > realize this has to do with
> > software besides simply xerces, but just from looking over this 
> > method's code, it doesn't look like it should ever throw an exception 
> > right here, regardless of how badly deformed the XML file is. I've run
> 
> > a few different test programs, and all of them have the same result: I
> 
> > simply can't call the putDocument method without generating an 
> > exception. Here is one small test program that reproduced the error 
> > for me:
> >
> > #include "dbxml/DbXml.hpp"
> > #include "db_cxx.h"
> > using namespace DbXml;
> >
> > int main()
> > {
> >     XmlContainer container(NULL, "test.dbxml");
> >     container.open(NULL, DB_CREATE);
> >
> >     XmlDocument document;
> >     document.setContent("<testing><a><b><c></c></b></a></testing>");
> >
> >     try {
> >         container.putDocument(NULL, document);
> >     }
> >     catch (std::exception &e) {
> >         std::cerr << e.what() << std::endl;
> >     }
> >
> >     return 0;
> > }
> >
> > Here is the output:
> >
> > $ ./add_doc
> > Error: XML Indexer: Fatal parse error in document '', line 1, char 10.
> > Parser Error Message: An
> > exception occurred! Type:ArrayIndexOutofBoundsException, Message:The 
> > passed index is past the end of the vector
> >
> > _________________________________________________________________
> > Get tips for maintaining your PC, notebook accessories and reviews in 
> > Technology 101. http://special.msn.com/tech/technology101.armx
> >
> >
> > ---------------------------------------------------------------------
> > 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]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to