[ https://issues.apache.org/jira/browse/XERCESJ-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mukul Gandhi resolved XERCESJ-1754. ----------------------------------- Assignee: Mukul Gandhi Resolution: Fixed Committed fix for this jira issue, on xercesj svn. Following are the relevant, xercesj svn commit revisions, svn branch xml-schema-1.1-dev : 1908723 svn trunk : 1908724 > 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 > Assignee: Mukul Gandhi > 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