Author: ssteiner Date: Wed Jun 15 08:10:12 2022 New Revision: 1901930 URL: http://svn.apache.org/viewvc?rev=1901930&view=rev Log: FOP-3080: Allow removing empty table elements from structure tree
Added: xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/fo2StructureTree.xsl Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java?rev=1901930&r1=1901929&r2=1901930&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverter.java Wed Jun 15 08:10:12 2022 @@ -380,11 +380,12 @@ public class FO2StructureTreeConverter e @Override public void startHeader(final TableHeader header) { + handleStartArtifact(header); startContent(new Event(this) { public void run() { eventHandler.startHeader(header); } - }, true); + }, false); super.startHeader(header); } @@ -395,16 +396,18 @@ public class FO2StructureTreeConverter e eventHandler.endHeader(header); } }); + handleEndArtifact(header); super.endHeader(header); } @Override public void startFooter(final TableFooter footer) { + handleStartArtifact(footer); startContent(new Event(this) { public void run() { eventHandler.startFooter(footer); } - }, true); + }, false); super.startFooter(footer); } @@ -415,6 +418,7 @@ public class FO2StructureTreeConverter e eventHandler.endFooter(footer); } }); + handleEndArtifact(footer); super.endFooter(footer); } @@ -444,7 +448,7 @@ public class FO2StructureTreeConverter e public void run() { eventHandler.startRow(tr); } - }, true); + }, false); super.startRow(tr); } @@ -464,7 +468,7 @@ public class FO2StructureTreeConverter e public void run() { eventHandler.startCell(tc); } - }, true); + }, false); super.startCell(tc); } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java?rev=1901930&r1=1901929&r2=1901930&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java Wed Jun 15 08:10:12 2022 @@ -51,6 +51,8 @@ import static org.junit.Assert.assertEqu import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.apache.commons.io.IOUtils; + import org.apache.fop.accessibility.StructureTree2SAXEventAdapter; import org.apache.fop.accessibility.StructureTreeEventHandler; import org.apache.fop.apps.FOPException; @@ -115,6 +117,11 @@ public class FO2StructureTreeConverterTe } @Test + public void testTableArtifact() throws Exception { + testConverter("table-artifact.fo"); + } + + @Test public void testLanguage() throws Exception { testConverter("language.fo"); } @@ -173,6 +180,36 @@ public class FO2StructureTreeConverterTe + "</structure-tree-sequence>\n"); } + @Test + public void testRemoveTableHeader() throws Exception { + keepEmptyTags = false; + String fo = IOUtils.toString(getResource("table-artifact.fo")).replace("role=\"artifact\"", ""); + compare(fo, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<structure-tree-sequence>\n" + + "<structure-tree xmlns=\"http://xmlgraphics.apache.org/fop/intermediate\" " + + "xmlns:foi=\"http://xmlgraphics.apache.org/fop/internal\" " + + "xmlns:fox=\"http://xmlgraphics.apache.org/fop/extensions\">\n" + + "<fo:flow xmlns:fo=\"http://www.w3.org/1999/XSL/Format\" flow-name=\"xsl-region-body\">\n" + + "<fo:table>\n" + + "<fo:table-body>\n" + + "<fo:table-row>\n" + + "<fo:table-cell>\n" + + "<fo:block>\n" + + "<marked-content/>\n" + + "<fo:block>\n" + + "<marked-content/>\n" + + "</fo:block>\n" + + "<marked-content/>\n" + + "</fo:block>\n" + + "</fo:table-cell>\n" + + "</fo:table-row>\n" + + "</fo:table-body>\n" + + "</fo:table>\n" + + "</fo:flow>\n" + + "</structure-tree>\n" + + "</structure-tree-sequence>"); + } + private void compare(final String fo, String tree) throws Exception { foLoader = new FOLoader("") { public InputStream getFoInputStream() { Modified: xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/fo2StructureTree.xsl URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/fo2StructureTree.xsl?rev=1901930&r1=1901929&r2=1901930&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/fo2StructureTree.xsl (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/fo2StructureTree.xsl Wed Jun 15 08:10:12 2022 @@ -145,6 +145,8 @@ <xsl:template match="fo:wrapper[translate(normalize-space(@role), 'ARTIFCT', 'artifct') = 'artifact']"/> + <xsl:template match="fo:table-header[@role = 'artifact']"/> + <xsl:template match="fo:table-footer[@role = 'artifact']"/> <!-- Discard descendants of fo:leader --> <xsl:template match="fo:leader"/> Added: xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo?rev=1901930&view=auto ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo Wed Jun 15 08:10:12 2022 @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"> + <fo:layout-master-set> + <fo:simple-page-master master-name="simple" page-height="27.9cm" page-width="21.6cm"> + <fo:region-body /> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="simple"> + <fo:flow flow-name="xsl-region-body"> + <fo:table border-collapse="separate" table-layout="fixed"> + <fo:table-column column-width="2in" column-number="1"/> + <fo:table-header role="artifact"> + <fo:table-row> + <fo:table-cell> + <fo:block> + <fo:block> + <fo:leader/> + </fo:block> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-footer role="artifact"> + <fo:table-row> + <fo:table-cell> + <fo:block> + <fo:block> + <fo:leader/> + </fo:block> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-footer> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block> + <fo:block>a</fo:block> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </fo:flow> + </fo:page-sequence> +</fo:root> Propchange: xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/accessibility/fo/table-artifact.fo ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org