aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Steiner <ssteiner@apache.org>2016-11-07 12:17:50 +0000
committerSimon Steiner <ssteiner@apache.org>2016-11-07 12:17:50 +0000
commit055aabb32fb900ff3fccde7d9f4dd600602120c8 (patch)
treece559434f3f2ed95cef8a9efd1d06a77783f971a
parent2b3d2b4e10052a3876a2a6aa8d614bc9ab3fd7ef (diff)
downloadxmlgraphics-fop-055aabb32fb900ff3fccde7d9f4dd600602120c8.tar.gz
xmlgraphics-fop-055aabb32fb900ff3fccde7d9f4dd600602120c8.zip
FOP-2663: AFP tag-logical-element encoding missing from IF xml
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1768506 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java4
-rw-r--r--fop/test/intermediate/afp.xml45
2 files changed, 49 insertions, 0 deletions
diff --git a/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java b/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java
index 27db41d39..12ca5ef38 100644
--- a/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java
+++ b/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java
@@ -32,6 +32,7 @@ public class AFPPageSetup extends AFPExtensionAttachment {
/** value attribute */
protected static final String ATT_VALUE = "value";
+ protected static final String ATT_ENCODING = "encoding";
/** placement attribute */
protected static final String ATT_PLACEMENT = "placement";
@@ -145,6 +146,9 @@ public class AFPPageSetup extends AFPExtensionAttachment {
if (this.placement != ExtensionPlacement.DEFAULT) {
atts.addAttribute(null, ATT_PLACEMENT, ATT_PLACEMENT, "CDATA", placement.getXMLValue());
}
+ if (encoding != TagLogicalElement.State.ENCODING_NONE) {
+ atts.addAttribute(null, ATT_ENCODING, ATT_ENCODING, "CDATA", String.valueOf(encoding));
+ }
handler.startElement(CATEGORY, elementName, elementName, atts);
if (content != null && content.length() > 0) {
char[] chars = content.toCharArray();
diff --git a/fop/test/intermediate/afp.xml b/fop/test/intermediate/afp.xml
new file mode 100644
index 000000000..fd4dbfb9a
--- /dev/null
+++ b/fop/test/intermediate/afp.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<testcase>
+ <info>
+ <p>
+ This test checks that encoding coming from a afp element appear in the IF output.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:afp="http://xmlgraphics.apache.org/fop/extensions/afp">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="page"
+ page-height="320pt" page-width="420pt" margin="10pt">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body" text-align="justify">
+ <fo:block>test</fo:block>
+ </fo:flow>
+ <afp:tag-logical-element encoding="870" value="value" name="TestName"/>
+ </fo:page-sequence>
+
+ </fo:root>
+ </fo>
+ <if-checks xmlns:if="http://xmlgraphics.apache.org/fop/intermediate">
+ <eval expected="870" xpath="//if:page-sequence/descendant::*[local-name() = 'tag-logical-element'][1]/@encoding"/>
+ </if-checks>
+</testcase>