Radu Coravu created XERCESJ-1754: ------------------------------------ Summary: XMLSchemaValidator reset no longer resets id validation caches Key: XERCESJ-1754 URL: https://issues.apache.org/jira/browse/XERCESJ-1754 Project: Xerces2-J Issue Type: Bug Components: XML Schema 1.1 Structures Reporter: Radu Coravu Attachments: test.xml, test.xsd
I validate an XML with an XML Schema 1.1 file. On the first validation the XML is reported valid. On the second validation I re-use the parser, the ID values inside elements are reported as duplicate and I get errors like this reported: {code}Message: cvc-type.3.1.3: The value 'thing122' of element 'uid' is not valid.{code} Looking at the method org.apache.xerces.impl.xs.XMLSchemaValidator.reset(XMLComponentManager), sometime probably in the Xerces 2.12.2 release there was a fast return added to it: {code} if (!parser_settings) { // parser settings have not been changed fValidationManager.addValidationState(fValidationState); // the node limit on the SecurityManager may have changed so need to refresh. nodeFactory.reset(); // Re-parse external schema location properties. XMLSchemaLoader.processExternalHints( fExternalSchemas, fExternalNoNamespaceSchema, fLocationPairs, fXSIErrorReporter.fErrorReporter); return; }{code} and this means all the code which for example cleared the IDs cache: {code} // reset ID Context if (fIDContext != null) { fIDContext.clear(); }{code} is no longer executed. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: j-dev-h...@xerces.apache.org