Author: jeremias
Date: Tue Oct 4 06:07:43 2005
New Revision: 293596
URL: http://svn.apache.org/viewcvs?rev=293596&view=rev
Log:
Bugzilla #36871:
Better error messages when invalid XSL-FO is sent to FOP.
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOTreeBuilder.java
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOTreeBuilder.java
URL:
http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOTreeBuilder.java?rev=293596&r1=293595&r2=293596&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOTreeBuilder.java
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/FOTreeBuilder.java Tue Oct
4 06:07:43 2005
@@ -247,8 +247,10 @@
if (rootFObj == null) {
if (!namespaceURI.equals(FOElementMapping.URI)
|| !localName.equals("root")) {
- throw new SAXException(new IllegalArgumentException(
- "Error: First element must be fo:root formatting
object"));
+ throw new SAXException(new ValidationException(
+ "Error: First element must be the fo:root formatting
object. Found "
+ + FONode.getNodeString(namespaceURI, localName) + "
instead."
+ + " Please make sure you're producing a valid XSL-FO
document."));
}
} else { // check that incoming node is valid for currentFObj
if (namespaceURI.equals(FOElementMapping.URI)) {
@@ -293,6 +295,10 @@
*/
public void endElement(String uri, String localName, String rawName)
throws FOPException {
+ if (currentFObj == null) {
+ throw new FOPException("No current FO is available. The input
document may not be "
+ + "a valid XSL-FO document.");
+ }
currentFObj.endOfNode();
if (currentPropertyList.getFObj() == currentFObj) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]