Author: jeremias
Date: Fri Dec 28 00:38:26 2007
New Revision: 607188
URL: http://svn.apache.org/viewvc?rev=607188&view=rev
Log:
Throwing IllegalStateException causes a prior exception to be swallowed by
Xalan-J. Need to throw a SAXException instead.
Instead of logging an error about the element mismatch throw a SAXException
because the logging only confuses the user as it's practically always a
follow-up exception of an exception happening earlier in the respective
startElement() event.
Modified:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
Modified:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java?rev=607188&r1=607187&r2=607188&view=diff
==============================================================================
---
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
(original)
+++
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
Fri Dec 28 00:38:26 2007
@@ -21,25 +21,27 @@
import java.io.OutputStream;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fo.extensions.ExtensionElementMapping;
+
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.FormattingResults;
import org.apache.fop.area.AreaTreeHandler;
import org.apache.fop.fo.ElementMapping.Maker;
+import org.apache.fop.fo.extensions.ExtensionElementMapping;
import org.apache.fop.fo.pagination.Root;
import org.apache.fop.image.ImageFactory;
import org.apache.fop.util.ContentHandlerFactory;
-import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
import org.apache.fop.util.ContentHandlerFactory.ObjectBuiltListener;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
+import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
/**
* SAX Handler that passes parsed data to the various
@@ -268,9 +270,7 @@
*/
private int nestedMarkerDepth = 0;
- /**
- * [EMAIL PROTECTED]
- */
+ /** [EMAIL PROTECTED] */
public void startElement(String namespaceURI, String localName, String
rawName,
Attributes attlist) throws SAXException {
@@ -350,19 +350,16 @@
}
}
- /**
- * [EMAIL PROTECTED]
- */
+ /** [EMAIL PROTECTED] */
public void endElement(String uri, String localName, String rawName)
throws SAXException {
if (currentFObj == null) {
- throw new IllegalStateException(
+ throw new SAXException(
"endElement() called for " + rawName
+ " where there is no current element.");
- } else
- if (!currentFObj.getLocalName().equals(localName)
+ } else if (!currentFObj.getLocalName().equals(localName)
|| !currentFObj.getNamespaceURI().equals(uri)) {
- log.warn("Mismatch: " + currentFObj.getLocalName()
+ throw new SAXException("Mismatch: " +
currentFObj.getLocalName()
+ " (" + currentFObj.getNamespaceURI()
+ ") vs. " + localName + " (" + uri + ")");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]