Hi Alberto,

i first tried with the release version 3.0.1, but that did not help. The execution times remained the same.

When I try to configure the Trunk version I get this error message:
> ./configure --prefix /share_pride/usr/sturm/contrib/build --disable-network --disable-transcoder-iconv --disable-transcoder-icu --disable-shared --with-pic CXX=/share_pride/usr/sturm/config/bash/UNI/scripts/colorgcc_x86_64_sl4/c++ CC=/share_pride/usr/sturm/config/bash/UNI/scripts/colorgcc_x86_64_sl4/gcc
configure: error: cannot find install-sh or install.sh in config "."/config

Any ideas?

-Marc



Alberto Massari wrote:
Hi Marc,
could you try with the current trunk of 3.x (the SVN repository is at https://svn.apache.org/repos/asf/xerces/c/trunk)? There was an excessive memory usage in identity validation that made performance degrade exponentially.

Alberto

Marc Sturm wrote:
Hi all,

first, I' like to thank the developers for their effort. We use Xerces-C a lot and are quite happy with it!

Recently we encountered a problem with the evaluation speed of identity constraints (xs:key, xs:keyref, xpath) in Xerces-C 3.0.0. At http://www-bs2.informatik.uni-tuebingen.de/services/sturm/public/ you can find an XML example file and two schema versions. Validating the example without identity constraints takes about 30 seconds. With identity constraints it takes like an hour.

Is this a known problem, or do we do something wrong? I attached the code used to perform the validation.

Thanks in advance,
 Marc


---------------------------------------------------------------------------------
//initialize
try
{
   XMLPlatformUtils::Initialize();
}
catch (const XMLException& toCatch)
{
   //...
}

SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true);
parser->setFeature(XMLUni::fgSAX2CoreValidation, true);
parser->setFeature(XMLUni::fgXercesDynamic, false);
parser->setFeature(XMLUni::fgXercesSchema, true);
parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true);

//set this class as error handler
parser->setErrorHandler(this);
parser->setContentHandler(NULL);
parser->setEntityResolver(NULL);

//load schema
LocalFileInputSource schema_file(schema);
parser->loadGrammar(schema_file, Grammar::SchemaGrammarType, true);
parser->setFeature(XMLUni::fgXercesUseCachedGrammarInParse, true);

// try to validate the file
LocalFileInputSource source(filename);
try
{
   parser->parse(source);
   delete(parser);
}
catch (...)
{
   ///...
}

---------------------------------------------------------------------
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