[ https://issues.apache.org/jira/browse/XERCESJ-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Radu Coravu updated XERCESJ-1754: --------------------------------- Description: 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), there is a fast return inside 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. was: 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. > 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 > Priority: Major > 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), > there is a fast return inside 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