}
/**
- * 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) {
}
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);
}
}
+++ /dev/null
-/*
- * 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);
- }
-}