You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2007/03/19 20:25:57 UTC
svn commit: r520055 - in /xerces/java/trunk/src/org/apache/xerces/jaxp:
DocumentBuilderImpl.java SAXParserImpl.java UnparsedEntityHandler.java
Author: mrglavas
Date: Mon Mar 19 12:25:57 2007
New Revision: 520055
URL: http://svn.apache.org/viewvc?view=rev&rev=520055
Log:
Fixing a bug. If the document doesn't have a DTD we weren't resetting the UnparsedEntityHandler.
Modified:
xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java
xerces/java/trunk/src/org/apache/xerces/jaxp/UnparsedEntityHandler.java
Modified: xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java?view=diff&rev=520055&r1=520054&r2=520055
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java Mon Mar 19 12:25:57 2007
@@ -98,6 +98,7 @@
private XMLComponent fSchemaValidator;
private XMLComponentManager fSchemaValidatorComponentManager;
private ValidationManager fSchemaValidationManager;
+ private UnparsedEntityHandler fUnparsedEntityHandler;
/** Initial ErrorHandler */
private final ErrorHandler fInitErrorHandler;
@@ -161,10 +162,10 @@
if (grammar instanceof XSGrammarPoolContainer) {
validatorComponent = new XMLSchemaValidator();
fSchemaValidationManager = new ValidationManager();
- XMLDTDFilter entityHandler = new UnparsedEntityHandler(fSchemaValidationManager);
- config.setDTDHandler(entityHandler);
- entityHandler.setDTDHandler(domParser);
- domParser.setDTDSource(entityHandler);
+ fUnparsedEntityHandler = new UnparsedEntityHandler(fSchemaValidationManager);
+ config.setDTDHandler(fUnparsedEntityHandler);
+ fUnparsedEntityHandler.setDTDHandler(domParser);
+ domParser.setDTDSource(fUnparsedEntityHandler);
fSchemaValidatorComponentManager = new SchemaValidatorConfiguration(config,
(XSGrammarPoolContainer) grammar, fSchemaValidationManager);
}
@@ -278,6 +279,7 @@
if (fSchemaValidator != null) {
if (fSchemaValidationManager != null) {
fSchemaValidationManager.reset();
+ fUnparsedEntityHandler.reset();
}
resetSchemaValidator();
}
Modified: xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java?view=diff&rev=520055&r1=520054&r2=520055
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java Mon Mar 19 12:25:57 2007
@@ -97,6 +97,7 @@
private XMLComponent fSchemaValidator;
private XMLComponentManager fSchemaValidatorComponentManager;
private ValidationManager fSchemaValidationManager;
+ private UnparsedEntityHandler fUnparsedEntityHandler;
/** Initial ErrorHandler */
private final ErrorHandler fInitErrorHandler;
@@ -169,10 +170,10 @@
if (grammar instanceof XSGrammarPoolContainer) {
validatorComponent = new XMLSchemaValidator();
fSchemaValidationManager = new ValidationManager();
- XMLDTDFilter entityHandler = new UnparsedEntityHandler(fSchemaValidationManager);
- config.setDTDHandler(entityHandler);
- entityHandler.setDTDHandler(xmlReader);
- xmlReader.setDTDSource(entityHandler);
+ fUnparsedEntityHandler = new UnparsedEntityHandler(fSchemaValidationManager);
+ config.setDTDHandler(fUnparsedEntityHandler);
+ fUnparsedEntityHandler.setDTDHandler(xmlReader);
+ xmlReader.setDTDSource(fUnparsedEntityHandler);
fSchemaValidatorComponentManager = new SchemaValidatorConfiguration(config,
(XSGrammarPoolContainer) grammar, fSchemaValidationManager);
}
@@ -548,6 +549,7 @@
if (fSAXParser != null && fSAXParser.fSchemaValidator != null) {
if (fSAXParser.fSchemaValidationManager != null) {
fSAXParser.fSchemaValidationManager.reset();
+ fSAXParser.fUnparsedEntityHandler.reset();
}
resetSchemaValidator();
}
@@ -559,6 +561,7 @@
if (fSAXParser != null && fSAXParser.fSchemaValidator != null) {
if (fSAXParser.fSchemaValidationManager != null) {
fSAXParser.fSchemaValidationManager.reset();
+ fSAXParser.fUnparsedEntityHandler.reset();
}
resetSchemaValidator();
}
Modified: xerces/java/trunk/src/org/apache/xerces/jaxp/UnparsedEntityHandler.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/jaxp/UnparsedEntityHandler.java?view=diff&rev=520055&r1=520054&r2=520055
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/jaxp/UnparsedEntityHandler.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/jaxp/UnparsedEntityHandler.java Mon Mar 19 12:25:57 2007
@@ -61,10 +61,6 @@
public void startDTD(XMLLocator locator, Augmentations augmentations)
throws XNIException {
fValidationManager.setEntityState(this);
- if (fUnparsedEntities != null && !fUnparsedEntities.isEmpty()) {
- // should only clear this if the last document contained unparsed entities
- fUnparsedEntities.clear();
- }
if (fDTDHandler != null) {
fDTDHandler.startDTD(locator, augmentations);
}
@@ -250,4 +246,14 @@
return false;
}
+ /*
+ * Other methods
+ */
+
+ public void reset() {
+ if (fUnparsedEntities != null && !fUnparsedEntities.isEmpty()) {
+ // should only clear this if the last document contained unparsed entities
+ fUnparsedEntities.clear();
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org