Author: adelmelle
Date: Fri May 15 10:22:23 2015
New Revision: 1679533

URL: http://svn.apache.org/r1679533
Log:
Minor fix to make footnotes easier to track while debugging. Added disabled 
layout test as a reminder for the missing piece.

Added:
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/footnote_id.xml
Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Footnote.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/FootnoteBody.java
    xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/extract-events.xsl
    xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Footnote.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Footnote.java?rev=1679533&r1=1679532&r2=1679533&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Footnote.java 
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Footnote.java Fri May 
15 10:22:23 2015
@@ -52,11 +52,13 @@ public class Footnote extends FObj imple
 
     /** {@inheritDoc} */
     public void bind(PropertyList pList) throws FOPException {
+        super.bind(pList);
         commonAccessibility = CommonAccessibility.getInstance(pList);
     }
 
     /** {@inheritDoc} */
     public void startOfNode() throws FOPException {
+        super.startOfNode();
         getFOEventHandler().startFootnote(this);
     }
 

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/FootnoteBody.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/FootnoteBody.java?rev=1679533&r1=1679532&r2=1679533&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/FootnoteBody.java 
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/FootnoteBody.java Fri 
May 15 10:22:23 2015
@@ -50,11 +50,13 @@ public class FootnoteBody extends FObj i
 
     /** {@inheritDoc} */
     public void bind(PropertyList pList) throws FOPException {
+        super.bind(pList);
         commonAccessibility = CommonAccessibility.getInstance(pList);
     }
 
     /** {@inheritDoc} */
     public void startOfNode() throws FOPException {
+        super.startOfNode();
         getFOEventHandler().startFootnoteBody(this);
     }
 

Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/extract-events.xsl
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/extract-events.xsl?rev=1679533&r1=1679532&r2=1679533&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/extract-events.xsl 
(original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/extract-events.xsl Fri 
May 15 10:22:23 2015
@@ -30,12 +30,6 @@
     </xsl:call-template>
   </xsl:template>
 
-  <!-- Those elements do not retrieve the id property.
-    This will have to be fixed at some point. -->
-  <xsl:template match="fo:footnote|fo:footnote-body">
-    <xsl:call-template name="process.node"/>
-  </xsl:template>
-
   <xsl:template name="process.node">
     <xsl:param name="id" select="''"/>
     <event>

Modified: xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml?rev=1679533&r1=1679532&r2=1679533&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml Fri May 15 
10:22:23 2015
@@ -200,7 +200,7 @@
     <name>Soft hyphen with normal hyphenation enabled</name>
     <file>block_shy_linebreaking_hyph.xml</file>
     <description>A soft hyphen should be a preferred as break compared to a
-    normal hyphenation point but is not.</description>
+    normal hyphenation point but is not. Background info: see JIRA 
FOP-2466.</description>
   </testcase>
   <testcase>
     <name>Page-keep not respected in multi-column layout</name>
@@ -219,4 +219,10 @@
     <description>Test erroneously depends upon incorrect implementation of 
writing-mode trait
     derivation on fo:region-*.</description>
   </testcase>
+  <testcase>
+    <name>Footnotes and "id" property</name>
+    <file>footnote_id.xml</file>
+    <description>The "id" for fo:footnote and fo:footnote-body is properly
+    processed, but implementation in the layout engine remains 
incomplete/</description>
+  </testcase>
 </disabled-testcases>

Added: 
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/footnote_id.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/footnote_id.xml?rev=1679533&view=auto
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/footnote_id.xml 
(added)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/footnote_id.xml 
Fri May 15 10:22:23 2015
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks registration of the "id" of fo:footnote and 
fo:footnote-body, 
+      so that they can be referenced in other places in the document.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"; 
xmlns:svg="http://www.w3.org/2000/svg";>
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" 
page-height="3in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block text-align="center">
+            Blah
+            <fo:footnote id="fn1">
+              <fo:inline font-size="6.95pt" vertical-align="super">1) 
</fo:inline>
+                <fo:footnote-body id="fnb1">
+                  <fo:block text-align="left">
+                    <fo:inline font-size="6.95pt" vertical-align="super">1) 
</fo:inline>http://xmlgrapics.apache.org/fop/</fo:block>
+                </fo:footnote-body>
+            </fo:footnote>
+          </fo:block>
+          <fo:block text-align="center" break-before="page">
+            <fo:basic-link internal-destination="fn1">This should link to 
previous page</fo:basic-link>
+          </fo:block>
+          <fo:block text-align="center">
+            <fo:basic-link internal-destination="fn1">This should link to 
previous page</fo:basic-link>
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- Check fo:footnote @id -->
+    <!-- First two checks based on the assumption that fix is to add an empty 
inline
+         area to hold the @prod-id -->
+    <true xpath="((//page)[1]//block)[1]/lineArea[1]/inline[1]/@prod-id" />
+    <eval expected="fn1" 
xpath="((//page)[1]//block)[1]/lineArea[1]/inline[1]/@prod-id"/>
+    <true 
xpath="((//page)[2]//block)[1]/lineArea[1]/inlineparent[1]/@internal-link" />
+    <eval expected="(P1,fn1)" 
xpath="((//page)[2]//block)[1]/lineArea[1]/inlineparent[1]/@internal-link"/>
+    <!-- Check fo:footnote-body @id -->
+    <!-- TODO - figure out where @prod-id should go -->
+    <true 
xpath="((//page)[2]//block)[2]/lineArea[1]/inlineparent[1]/@internal-link" />
+    <eval expected="(P1,fnb1)" 
xpath="((//page)[2]//block)[1]/lineArea[1]/inlineparent[2]/@internal-link"/>
+  </checks>
+</testcase>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to