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]

Reply via email to