diff options
author | Jeremias Maerki <jeremias@apache.org> | 2006-04-28 08:51:27 +0000 |
---|---|---|
committer | Jeremias Maerki <jeremias@apache.org> | 2006-04-28 08:51:27 +0000 |
commit | e15428a90dd3e0298e30fa84aa318f527b3bbec4 (patch) | |
tree | 8ef3034ab4c1b76e331b4a682e17b7c946af9104 /src/java/org/apache/fop/fo/PropertyList.java | |
parent | e78675dcc1066e879d99ab030bd2f5731141ce6c (diff) | |
download | xmlgraphics-fop-e15428a90dd3e0298e30fa84aa318f527b3bbec4.tar.gz xmlgraphics-fop-e15428a90dd3e0298e30fa84aa318f527b3bbec4.zip |
Introduced "ignored namespaces" list on FopFactory. Attributes from ignored namespaces are not complained about. Not done for elements, yet.
Added support for foreign attributes (attributes in a non-FO namespace) on formatting objects, for example to specify additional (proprietary) hints for rendering i-f-o and e-g. First usage example is PCLRendererContext which the PCLGraphics2DAdapter uses to decide whether to paint natively using HP GL/2 or using a bitmap.
PCL Renderer revived: Basic framework constructed based on the old one. Still incomplete (no border painting, incomplete Graphics2D implementation, problems with reference orientation, no kerning etc.). The PCL Renderer implements PCL5 (monochrome) and HP GL/2. Work in progress!
Added UnitConv helper class which could also be useful elsewhere (Could be a candidate for Commons).
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@397806 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop/fo/PropertyList.java')
-rw-r--r-- | src/java/org/apache/fop/fo/PropertyList.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/java/org/apache/fop/fo/PropertyList.java b/src/java/org/apache/fop/fo/PropertyList.java index 7d4b0132d..5bf00346a 100644 --- a/src/java/org/apache/fop/fo/PropertyList.java +++ b/src/java/org/apache/fop/fo/PropertyList.java @@ -24,7 +24,7 @@ import org.xml.sax.Attributes; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.fop.apps.FOPException; +import org.apache.fop.apps.FopFactory; import org.apache.fop.fo.expr.PropertyException; import org.apache.fop.fo.properties.CommonAbsolutePosition; import org.apache.fop.fo.properties.CommonAccessibility; @@ -295,13 +295,20 @@ public abstract class PropertyList { } String attributeNS; + FopFactory factory = getFObj().getUserAgent().getFactory(); for (int i = 0; i < attributes.getLength(); i++) { /* convert all attributes with the same namespace as the fo element for this fObj */ - attributeNS = attributes.getURI(i); - if (attributeNS.length() == 0 || attributeNS.equals(fobj.getNamespaceURI())) { - attributeName = attributes.getQName(i); - attributeValue = attributes.getValue(i); + attributeNS = attributes.getURI(i); + attributeName = attributes.getQName(i); + attributeValue = attributes.getValue(i); + if (attributeNS.length() == 0) { convertAttributeToProperty(attributes, attributeName, attributeValue); + } else if (!factory.isNamespaceIgnored(attributeNS)) { + if (factory.getElementMappingRegistry().isKnownNamespace(attributeNS)) { + getFObj().addForeignAttribute(attributeNS, attributeName, attributeValue); + } else { + handleInvalidProperty(attributeName); + } } } } |