From fa2c36bbe2e26b29b523fea11c90c56657417d30 Mon Sep 17 00:00:00 2001 From: Glen Mazza Date: Fri, 17 Sep 2004 21:27:36 +0000 Subject: [PATCH] Removed Unknown.java; for mappings in which it is desired to process invalid nodes, such as "svg:retc" or "svg:rekt" for svg:rect, the DEFAULT mapping option is already provided within an ElementMapping. Removing Unknown gives the ElementMapping implementor the option of halting FOP processing and returning an error for such cases instead. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197951 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/fop/fo/FOTreeBuilder.java | 14 +++--- src/java/org/apache/fop/fo/Unknown.java | 50 ------------------- 2 files changed, 7 insertions(+), 57 deletions(-) delete mode 100644 src/java/org/apache/fop/fo/Unknown.java diff --git a/src/java/org/apache/fop/fo/FOTreeBuilder.java b/src/java/org/apache/fop/fo/FOTreeBuilder.java index cda21f8e0..57af117de 100644 --- a/src/java/org/apache/fop/fo/FOTreeBuilder.java +++ b/src/java/org/apache/fop/fo/FOTreeBuilder.java @@ -301,12 +301,13 @@ public class FOTreeBuilder extends DefaultHandler { } /** - * Finds the Maker used to create FO objects of a particular type + * Finds the Maker used to create node objects of a particular type * @param namespaceURI URI for the namespace of the element * @param localName name of the Element * @return the ElementMapping.Maker that can create an FO object for this element + * @throws SAXParseException if a Maker could not be found for a bound namespace. */ - private Maker findFOMaker(String namespaceURI, String localName) { + private Maker findFOMaker(String namespaceURI, String localName) throws SAXParseException { Map table = (Map)fobjTable.get(namespaceURI); Maker fobjMaker = null; if (table != null) { @@ -318,13 +319,12 @@ public class FOTreeBuilder extends DefaultHandler { } if (fobjMaker == null) { - if (log.isWarnEnabled()) { - log.warn("Unknown formatting object " + namespaceURI + "^" + localName); - } if (namespaces.contains(namespaceURI.intern())) { - // fall back - fobjMaker = new Unknown.Maker(); + throw new SAXParseException (FONode.errorText(locator) + + "No element mapping definition found for " + + FONode.getNodeString(namespaceURI, localName), locator); } else { + log.warn("Unknown formatting object " + namespaceURI + "^" + localName); fobjMaker = new UnknownXMLObj.Maker(namespaceURI); } } diff --git a/src/java/org/apache/fop/fo/Unknown.java b/src/java/org/apache/fop/fo/Unknown.java deleted file mode 100644 index 3be0727fe..000000000 --- a/src/java/org/apache/fop/fo/Unknown.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1999-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.fo; - -/** - * Class for handling an unknown element from a namespace recognized - * by FOP. - * This prevents any further problems arising from the unknown - * data. - */ -public class Unknown extends FONode { - - /** - * Inner class for handling the creation of Unknown objects - */ - public static class Maker extends ElementMapping.Maker { - - /** - * @param parent the FONode that is the parent of the object to be - * created - * @return the created Unknown object - */ - public FONode make(FONode parent) { - return new Unknown(parent); - } - } - - /** - * @param parent FONode that is the parent of this object - */ - public Unknown(FONode parent) { - super(parent); - } -} -- 2.39.5