aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/fo/PropertyList.java
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2006-04-28 08:51:27 +0000
committerJeremias Maerki <jeremias@apache.org>2006-04-28 08:51:27 +0000
commite15428a90dd3e0298e30fa84aa318f527b3bbec4 (patch)
tree8ef3034ab4c1b76e331b4a682e17b7c946af9104 /src/java/org/apache/fop/fo/PropertyList.java
parente78675dcc1066e879d99ab030bd2f5731141ce6c (diff)
downloadxmlgraphics-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.java17
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);
+ }
}
}
}