SchemaInfo::getTopLevelComponent causing validation to take over 10 minutes
---------------------------------------------------------------------------
Key: XERCESC-1542
URL: http://issues.apache.org/jira/browse/XERCESC-1542
Project: Xerces-C++
Type: Improvement
Components: Validating Parser (Schema) (Xerces 1.5 or up only)
Environment: Windows XP, Microsoft Visual C++ 6.0
Reporter: Joe Milane
The high the performance costs of validation (over ten minutes in this case)
can be attributed to the call to getTopLevelComponent on line 135 of
SchemaInfo.cpp in xerces-c-src2_7_0 (its where the version of
getTopLevelComponent with three arguments calls the version with four
arguments). By commenting out that call, the validation process takes around
ten seconds instead of over ten minutes (10 seconds is around how long it takes
using another parser). The loop on lines 172 through 177 is apparently
responsible for the bulk of the time within the call to getTopLevelComponent.
The return value for the call to getTopLevelComponent on line 135 is always 0
when it is not commented out. Also, we do have appropriate validation errors
when we add bugs to the XML file and the call is commented out. The outer
getTopLevelComponent call that is calling this function is going through each
element of each schema, but so far I have added errors to the included schemas
both with and without commenting line 135 out and the file still validates.
If the performance costs are unavoidable, is there some way to prevent this
code from being executed (i.e. is it optional)? For our purposes there is a
guarantee that the schemas will be valid.
Thanks,
Joe
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]