You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2008/01/10 20:58:31 UTC

svn commit: r610906 [1/4] - in /xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking: ./ src/documentation/content/xdocs/trunk/ src/java/org/apache/fop/apps/ src/java/org/apache/fop/area/ src/java/org/apache/fop/fo/ src/java/org/apache/fop/fo/e...

Author: spepping
Date: Thu Jan 10 11:58:23 2008
New Revision: 610906

URL: http://svn.apache.org/viewvc?rev=610906&view=rev
Log:
Merged revisions 603943-610888 via svnmerge from 
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk

........
  r603943 | vhennebert | 2007-12-13 16:55:29 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Removed calls to removeLegalBreaks since they aren't necessary (the whole content is put in a single box anyway) and the method is buggy.
........
  r603945 | vhennebert | 2007-12-13 17:10:32 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Implemented the resolution of collapsing borders in the FO tree, for every situation (normal, cell at the top of a page, cell broken), taking conditionality, headers and footers into account.
........
  r603959 | vhennebert | 2007-12-13 18:21:24 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Reverted change accidentally introduced in the previous commit. A proper fix needs to be found for this one.
........
  r603961 | vhennebert | 2007-12-13 18:31:26 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Ok, now /really/ revert the previous commit :-\
........
  r603962 | vhennebert | 2007-12-13 18:32:43 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Style only: removed trailing white spaces
........
  r603968 | vhennebert | 2007-12-13 19:28:56 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Fixed the handling of columns in the border resolution, especially in case of column-spanning cells
........
  r603975 | vhennebert | 2007-12-13 19:52:48 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Removed parameter from the endPart method, since the part is already passed as a parameter of the previously called startPart method
........
  r603979 | vhennebert | 2007-12-13 19:57:25 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Removed parameter from the endTablePart method, as the part is already passed as as a parameter of the previously called startTablePart method
........
  r603990 | vhennebert | 2007-12-13 20:17:12 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Throw a ValidationException if table-footer is put after table-body and the table uses the collapsing border model. The footer must be known to properly resolve borders.
........
  r604171 | vhennebert | 2007-12-14 12:32:51 +0100 (Fri, 14 Dec 2007) | 2 lines
  
  Clean up: removed all reset and resetPosition methods, which pre-date the Knuth era and are no longer needed
........
  r604180 | vhennebert | 2007-12-14 13:23:10 +0100 (Fri, 14 Dec 2007) | 2 lines
  
  Reduced visibility of methods from public to package-private
........
  r604185 | acumiskey | 2007-12-14 14:16:06 +0100 (Fri, 14 Dec 2007) | 2 lines
  
  Fixed copy constructor
........
  r604293 | jeremias | 2007-12-14 21:58:53 +0100 (Fri, 14 Dec 2007) | 2 lines
  
  Bugfix: DecodeParms -> DecodeParams (introduced when I changed to generic PDF structures)
  (fixes CCITT encoded images)
........
  r604299 | jeremias | 2007-12-14 22:24:14 +0100 (Fri, 14 Dec 2007) | 1 line
  
  Don't hack when you're tired! Reverting r604293 and instead fixing the right value. It's DecodeParams -> DecodeParms!
........
  r604475 | vhennebert | 2007-12-15 19:16:01 +0100 (Sat, 15 Dec 2007) | 2 lines
  
  Testcase for the resolution of collapsed and conditional borders in the FO tree
........
  r604678 | adelmelle | 2007-12-16 20:54:00 +0100 (Sun, 16 Dec 2007) | 8 lines
  
  Streamlining/Correction of the changes made in r603926
  - delegate validation of the fo:wrapper's children to the parent: added static FONode.validateChildNode()
  - narrow the condition for processing text-childnodes: 
    this is not only constrained to fo:flow and fo:static-content, but the same goes 
    for a fo:wrapper that is a direct descendant of a fo:block-container or fo:inline-container, 
    which only allow block-level content (interpretation)
  - minor javadoc fixups/improvements
........
  r604814 | vhennebert | 2007-12-17 11:21:04 +0100 (Mon, 17 Dec 2007) | 2 lines
  
  Organized imports
........
  r604965 | vhennebert | 2007-12-17 19:56:46 +0100 (Mon, 17 Dec 2007) | 2 lines
  
  Renaming GridUnitPart into the more accurate CellPart. Moreover I was always making the confusion between gup and pgu
........
  r604970 | vhennebert | 2007-12-17 20:05:27 +0100 (Mon, 17 Dec 2007) | 2 lines
  
  Simplified addAreasAndFlushRow: there can no longer be null GridUnits, every hole in the grid is now filled with an EmptyGridUnit
........
  r605195 | vhennebert | 2007-12-18 12:56:38 +0100 (Tue, 18 Dec 2007) | 2 lines
  
  Reset previousRowsLength before a new row-group is handled
........
  r605246 | vhennebert | 2007-12-18 17:48:03 +0100 (Tue, 18 Dec 2007) | 2 lines
  
  Simplification in RowPainter: avoid the use of an array to store rowOffsets and firstRow index for each part of the table (header, footer, body). One at a time is enough.
........
  r605253 | vhennebert | 2007-12-18 18:01:45 +0100 (Tue, 18 Dec 2007) | 2 lines
  
  Renamed firstRow into firstRowIndex and moved its initialization into handeTableContentPosition
........
  r605295 | vhennebert | 2007-12-18 19:58:29 +0100 (Tue, 18 Dec 2007) | 2 lines
  
  Streamlined the recording of row offsets, by replacing Map with a List. Fixed bug #43633 in the same time.
........
  r605297 | vhennebert | 2007-12-18 20:02:02 +0100 (Tue, 18 Dec 2007) | 3 lines
  
  SVG support for AFP is an important addition IMO.
  IIUC it will have to be advertised in the next release as "Support for SVG images using primitive AFP graphics commands instead of bitmap images", or something like that?
........
  r605517 | vhennebert | 2007-12-19 12:47:38 +0100 (Wed, 19 Dec 2007) | 2 lines
  
  I said currentGU can no longer be null
........
  r605978 | jeremias | 2007-12-20 18:00:46 +0100 (Thu, 20 Dec 2007) | 1 line
  
  Remove commented code.
........
  r606004 | jeremias | 2007-12-20 20:19:19 +0100 (Thu, 20 Dec 2007) | 1 line
  
  Added support for scale-down-to-fit and scale-up-to-fit.
........
  r607032 | jeremias | 2007-12-27 11:34:15 +0100 (Thu, 27 Dec 2007) | 4 lines
  
  Added new extension element: fox:external-document. It allows to add whole documents such as multi-page TIFF images to be inserted as peers to a page-sequence. Each image will make up an entire page. See the documentation for details. ATM, only single pages are possible. Multi-page images will be supported with the new image package.
  
  Some preparations for page-position="only" but the implementation is incomplete and "only" has no effect, yet. (Just uploaded some stuff I once started)
  Some javadoc cleanups.
........
  r607036 | jeremias | 2007-12-27 11:51:11 +0100 (Thu, 27 Dec 2007) | 1 line
  
  Don't just exit with no error message if the document contains no content. Pretty irritating if it does so.
........
  r608812 | acumiskey | 2008-01-04 13:14:33 +0100 (Fri, 04 Jan 2008) | 3 lines
  
  The fonts variable would have always had an empty Configuration node (non-null value) even if a <fonts/> wasn't present
  in the fop configuration.
........
  r609567 | jeremias | 2008-01-07 11:52:09 +0100 (Mon, 07 Jan 2008) | 4 lines
  
  Reenabled documentation for fox:destination.
  Enabled intermediate format functionality for fox:destination.
  Added a test case to check fox:destination.
  Deprecated FOP's XMLizable in favor of the XML Graphics Commons variant (and extend that variant).
........
  r609627 | jeremias | 2008-01-07 16:06:24 +0100 (Mon, 07 Jan 2008) | 5 lines
  
  Bugzilla #44176:
  Support for custom fonts in Java2DRenderer and derived renderers.
  Submitted by: Patrick Jaromin <patrick.at.jgsullivan.dot.com>
  
  Patch modified slightly by jeremias.
........
  r610020 | acumiskey | 2008-01-08 16:27:02 +0100 (Tue, 08 Jan 2008) | 2 lines
  
  cleaned up
........
  r610021 | acumiskey | 2008-01-08 16:28:56 +0100 (Tue, 08 Jan 2008) | 2 lines
  
  Appears to be unused/referenced and superceeded by PageGroup
........
  r610022 | acumiskey | 2008-01-08 16:34:07 +0100 (Tue, 08 Jan 2008) | 2 lines
  
  cleaned up
........
  r610023 | acumiskey | 2008-01-08 16:35:18 +0100 (Tue, 08 Jan 2008) | 2 lines
  
  fixed javadoc
........
  r610337 | vhennebert | 2008-01-09 12:02:08 +0100 (Wed, 09 Jan 2008) | 2 lines
  
  Fixed checkstyle issues: tabs and trailing spaces
........
  r610355 | vhennebert | 2008-01-09 13:01:21 +0100 (Wed, 09 Jan 2008) | 2 lines
  
  keep-together is an inherited property
........
  r610420 | acumiskey | 2008-01-09 16:40:25 +0100 (Wed, 09 Jan 2008) | 2 lines
  
  cleanup
........
  r610704 | jeremias | 2008-01-10 08:38:47 +0100 (Thu, 10 Jan 2008) | 1 line
  
  Added basic support for PDF page labels.
........
  r610739 | jeremias | 2008-01-10 11:13:21 +0100 (Thu, 10 Jan 2008) | 1 line
  
  PostScript output now generates the bounding box DSC comments for the whole document.
........
  r610821 | vhennebert | 2008-01-10 16:53:20 +0100 (Thu, 10 Jan 2008) | 4 lines
  
  - renamed variables for clarity
  - moved the computation of a cell's content length in PrimaryGridUnit
  - better javadoc for getHeight method in EffRow
........
  r610848 | vhennebert | 2008-01-10 18:41:52 +0100 (Thu, 10 Jan 2008) | 2 lines
  
  No need to check if the end of the cell is reached when creating the areas for a row
........
  r610853 | vhennebert | 2008-01-10 18:54:16 +0100 (Thu, 10 Jan 2008) | 2 lines
  
  Simplified addAreasAndFlushRow
........
  r610886 | vhennebert | 2008-01-10 20:23:56 +0100 (Thu, 10 Jan 2008) | 2 lines
  
  Removed endPart() method and moved its content into addAreasAndFlushRow()
........

Added:
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/GraphicsProperties.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/GraphicsProperties.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExternalDocument.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/extensions/ExternalDocument.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/ConditionalBorder.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/ConditionalBorder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/AbstractPageSequence.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/pagination/AbstractPageSequence.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractPageSequenceLayoutManager.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractPageSequenceLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/TopLevelLayoutManager.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/TopLevelLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/CellPart.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/CellPart.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFNumberTreeNode.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFNumberTreeNode.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFNumsArray.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFNumsArray.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFPageLabels.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFPageLabels.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/SystemFontMetricsMapper.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/java2d/SystemFontMetricsMapper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/fotree/unittests/table/collapsed-conditional-borders.fo
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/fotree/unittests/table/collapsed-conditional-borders.fo
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/fotree/unittests/table/collapsed-conditional-borders_header-footer.fo
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/fotree/unittests/table/collapsed-conditional-borders_header-footer.fo
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/fotree/unittests/table/collapsed-conditional-borders_test-generator.py
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/fotree/unittests/table/collapsed-conditional-borders_test-generator.py
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/flow/table/CollapsedConditionalBorderTestCase.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/external-graphic_content-height_content-width_2.xml
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/external-graphic_content-height_content-width_2.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/fox_destination_1.xml
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_destination_1.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/fox_external-document_1.xml
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_external-document_1.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/fox_external-document_2.xml
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/fox_external-document_2.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/table_row-span_missing-cell_bug43633.xml
      - copied unchanged from r610886, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_row-span_missing-cell_bug43633.xml
Removed:
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/GridUnitPart.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/EndPageGroup.java
Modified:
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/   (props changed)
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/extensions.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/apps/FormattingResults.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeParser.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/DestinationData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/Constants.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOEventHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FONode.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOPropertyMapping.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOTreeBuilder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/PropertyList.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/AbstractGraphics.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderResolver.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderSpecification.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/EffRow.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/EmptyGridUnit.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/FixedColRowGroupBuilder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/GridUnit.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/PrimaryGridUnit.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/RowGroupBuilder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/SeparateBorderResolver.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/Table.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/TableBody.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/TableCell.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/TableFObj.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/TableHeader.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/VariableColRowGroupBuilder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/PageSequence.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterAlternatives.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterReference.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/Root.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/SinglePageMasterReference.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/pagination/SubSequenceSpecifier.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/CommonBorderPaddingBackground.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/ElementListUtils.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/FlowLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/LayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/LayoutManagerMaker.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/Page.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/PageProvider.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/ActiveCell.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModelEyeCatching.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/RowGroupLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/RowPainter.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableAndCaptionLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableCaptionLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableContentPosition.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/table/TableStepper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFDictionary.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFFactory.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFFilterList.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFNames.java   (props changed)
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFRoot.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPGraphics2D.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/extensions/AFPPageSetup.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageSizeParameter.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/IncludePageOverlay.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/IncludePageSegment.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/MapPageOverlay.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/FontMetricsMapper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/FontSetup.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/java2d/Java2DRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/pcl/PCLRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/pcl/PCLRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/pdf/PDFRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/PSRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/ResourceHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/extensions/PSExtensionAttachment.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/extensions/PSSetPageDevice.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/rtf/RTFHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/xml/XMLRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/util/XMLizable.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/status.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Jan 10 11:58:23 2008
@@ -1 +1 @@
-/xmlgraphics/fop/trunk:1-603942
+/xmlgraphics/fop/trunk:1-610888

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/extensions.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/extensions.xml?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/extensions.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/extensions.xml Thu Jan 10 11:58:23 2008
@@ -63,8 +63,7 @@
       </section>
       <section id="named-destinations">
         <title>Anchors or Named Destinations</title>
-        <p>This extension element hasn't been reimplemented for the redesigned code, yet.</p>
-        <!--p>Use the fox:destination element to define "named destinations" inside a PDF document.
+        <p>Use the fox:destination element to define "named destinations" inside a PDF document.
 These are useful as fragment identifiers, e.g. "http://server/document.pdf#anchor-name".
 fox:destination elements can be placed almost anywhere in the fo document, including a child of
 root, a block-level element, or an inline-level element.
@@ -77,7 +76,7 @@
 <fo:block id="table-of-contents">Table of Contents</fo:block>]]></source>
         <warning>It is possible that in some future release of FOP, <em>all </em>elements with
 "id" attributes will generate named-destinations, which will eliminate the need for
-fox:destination.</warning-->
+fox:destination.</warning>
       </section>
       <section id="table-continue-label">
         <title>Table Continuation Label</title>
@@ -114,6 +113,79 @@
           the you'll have at least three lines (assuming line-height="1.2") together on a table
           or list-block.
         </p>
+      </section>
+      <section id="external-document">
+        <title>fox:external-document</title>
+        <note>
+          This feature is incomplete. Support for multi-page documents will be added shortly.
+          At the moment, only single-page images will work. And this will not work with RTF output.
+        </note>
+        <p>
+          This is a proprietary extension element which allows to add whole images as pages to
+          an FO document. For example, if you have a scanned document or a fax as multi-page TIFF
+          file, you can append or insert this document using the <code>fox:external-document</code>
+          element. Each page of the external document will create one full page in the target
+          format.
+        </p>
+        <p>
+          The <code>fox:external-document</code> element is structurally a peer to
+          <code>fo:page-sequence</code>, so wherever you can put an <code>fo:page-sequence</code>
+          you could also place a <code>fox:external-document</code>.
+          Therefore, the specified contents for <code>fo:root</code> change to: 
+        </p>
+        <p>
+          <code>
+            (layout-master-set, declarations?, bookmark-tree?, (page-sequence|page-sequence-wrapper|fox:external-document|fox:destination)+)
+          </code>
+        </p>
+        <section>
+          <title>Specification</title>
+          <p>
+            The <code>fox:external-document</code> extension formatting object is used to specify
+            how to create a (sub-)sequence of pages within a document. The content of these pages
+            comes from the individual subimages/pages of an image or paged document (for example:
+            multi-page TIFF in the form of faxes or scanned documents, or PDF files). The
+            formatting object creates the necessary areas to display one image per page.
+          </p>
+          <p>
+            In terms of page numbers, the behaviour is the same as for
+            <code>fo:page-sequence</code>. The placement of the image inside the page is similar
+            to that of <code>fo:external-graphic</code> or <code>fo:instream-foreign-object</code>,
+            i.e. the viewport (and therefore the page size) is defined by either the intrinsic
+            size of the image or by the size properties that apply to this formatting object.
+          </p>
+          <p>Content: EMPTY</p>
+          <p>The following properties apply to this formatting object:</p>
+          <ul>
+            <li>(Common Accessibility Properties) (not implemented, yet)</li>
+            <li>(Common Aural Properties) (not implemented, yet)</li>
+            <li>block-progression-dimension</li>
+            <li>content-height</li>
+            <li>content-type</li>
+            <li>content-width</li>
+            <li>display-align</li>
+            <li>height</li>
+            <li>id</li>
+            <li>inline-progression-dimension</li>
+            <li>overflow</li>
+            <li>pages: &lt;page-set&gt; (see below) (not implemented, yet)</li>
+            <li>reference-orientation</li>
+            <li>scaling</li>
+            <li>scaling-method</li>
+            <li>src</li>
+            <li>text-align</li>
+            <li>width</li>
+          </ul>
+          <p>
+            Datatype "page-set": Value: auto | &lt;integer-range&gt;,
+            Default: "auto" which means all pages/subimages of the document.
+            &lt;integer-range&gt; allows values such as "7" or "1-3"
+          </p>
+          <note>
+            <code>fox:external-document</code> is not suitable for concatenating FO documents.
+            For this, XInclude is recommended.
+          </note>
+        </section>
       </section>
     </section>
   </body>

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/apps/FormattingResults.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/apps/FormattingResults.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/apps/FormattingResults.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/apps/FormattingResults.java Thu Jan 10 11:58:23 2008
@@ -21,7 +21,7 @@
 
 import java.util.List;
 
-import org.apache.fop.fo.pagination.PageSequence;
+import org.apache.fop.fo.pagination.AbstractPageSequence;
 
 /**
  * Class for reporting back formatting results to the calling application.
@@ -69,10 +69,10 @@
      * Reports the result of one page sequence rendering
      * back into this object.
      *
-     * @param pageSequence  the PageSequence which just completed rendering
+     * @param pageSequence  the page sequence which just completed rendering
      * @param pageCount     the number of pages rendered for that PageSequence
      */
-    public void haveFormattedPageSequence(PageSequence pageSequence, int pageCount) {
+    public void haveFormattedPageSequence(AbstractPageSequence pageSequence, int pageCount) {
         this.pageCount += pageCount;
         if (this.pageSequences == null) {
             this.pageSequences = new java.util.ArrayList();

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeHandler.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeHandler.java Thu Jan 10 11:58:23 2008
@@ -35,13 +35,17 @@
 import org.apache.fop.datatypes.Numeric;
 import org.apache.fop.fo.FOEventHandler;
 import org.apache.fop.fo.extensions.ExtensionAttachment;
+import org.apache.fop.fo.extensions.ExternalDocument;
 import org.apache.fop.fo.extensions.destination.Destination;
+import org.apache.fop.fo.pagination.AbstractPageSequence;
 import org.apache.fop.fo.pagination.PageSequence;
 import org.apache.fop.fo.pagination.Root;
 import org.apache.fop.fo.pagination.bookmarks.BookmarkTree;
+import org.apache.fop.layoutmgr.ExternalDocumentLayoutManager;
 import org.apache.fop.layoutmgr.LayoutManagerMaker;
 import org.apache.fop.layoutmgr.LayoutManagerMapping;
 import org.apache.fop.layoutmgr.PageSequenceLayoutManager;
+import org.apache.fop.layoutmgr.TopLevelLayoutManager;
 
 /**
  * Area tree handler for formatting objects.
@@ -78,7 +82,7 @@
     // The formatting results to be handed back to the caller.
     private FormattingResults results = new FormattingResults();
 
-    private PageSequenceLayoutManager prevPageSeqLM;
+    private TopLevelLayoutManager prevPageSeqLM;
 
     private int idGen = 0;
 
@@ -235,13 +239,39 @@
     }
 
     /**
+     * @see org.apache.fop.fo.FOEventHandler#startExternalDocument(org.apache.fop.fo.extensions.ExternalDocument)
+     */
+    public void startExternalDocument(ExternalDocument document) {
+        rootFObj = document.getRoot();
+        finishPrevPageSequence(document.getInitialPageNumber());
+        document.initPageNumber();
+    }
+
+    /**
+     * @see org.apache.fop.fo.FOEventHandler#endExternalDocument(org.apache.fop.fo.extensions.ExternalDocument)
+     */
+    public void endExternalDocument(ExternalDocument document) {
+        if (statistics != null) {
+            statistics.end();
+        }
+        
+        ExternalDocumentLayoutManager edLM;
+        edLM = getLayoutManagerMaker().makeExternalDocumentLayoutManager(this, document);
+        edLM.activateLayout();
+        // preserve the current PageSequenceLayoutManger for the
+        // force-page-count check at the beginning of the next PageSequence
+        prevPageSeqLM = edLM;
+        
+    }
+
+    /**
      * Called by the PageSequenceLayoutManager when it is finished with a
      * page-sequence.
      * 
      * @param pageSequence the page-sequence just finished
      * @param pageCount The number of pages generated for the page-sequence
      */
-    public void notifyPageSequenceFinished(PageSequence pageSequence,
+    public void notifyPageSequenceFinished(AbstractPageSequence pageSequence,
             int pageCount) {
         this.results.haveFormattedPageSequence(pageSequence, pageCount);
         if (log.isDebugEnabled()) {

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeParser.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeParser.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeParser.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/AreaTreeParser.java Thu Jan 10 11:58:23 2008
@@ -36,16 +36,25 @@
 import javax.xml.transform.sax.SAXTransformerFactory;
 import javax.xml.transform.sax.TransformerHandler;
 
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+
 import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.area.Trait.InternalLink;
 import org.apache.fop.area.Trait.Background;
-import org.apache.fop.area.inline.InlineArea;
+import org.apache.fop.area.Trait.InternalLink;
 import org.apache.fop.area.inline.AbstractTextArea;
 import org.apache.fop.area.inline.Character;
 import org.apache.fop.area.inline.ForeignObject;
 import org.apache.fop.area.inline.Image;
+import org.apache.fop.area.inline.InlineArea;
 import org.apache.fop.area.inline.InlineBlockParent;
 import org.apache.fop.area.inline.InlineParent;
 import org.apache.fop.area.inline.Leader;
@@ -68,12 +77,6 @@
 import org.apache.fop.util.ContentHandlerFactoryRegistry;
 import org.apache.fop.util.DefaultErrorListener;
 import org.apache.fop.util.QName;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
 
 /**
  * This is a parser for the area tree XML (intermediate format) which is used to reread an area
@@ -179,6 +182,7 @@
             makers.put("foreignObject", new ForeignObjectMaker());
             makers.put("bookmarkTree", new BookmarkTreeMaker());
             makers.put("bookmark", new BookmarkMaker());
+            makers.put("destination", new DestinationMaker());
         }
 
         private static Rectangle2D parseRect(String rect) {
@@ -919,6 +923,26 @@
 
             public void endElement() {
                 assertObjectOfClass(areaStack.pop(), BookmarkData.class);
+            }
+        }
+
+        private class DestinationMaker extends AbstractMaker {
+
+            public void startElement(Attributes attributes) {
+                String[] linkdata
+                    = InternalLink.parseXMLAttribute(lastAttributes.getValue("internal-link"));
+                PageViewport pv = (PageViewport) pageViewportsByKey.get(linkdata[0]);
+                DestinationData dest = new DestinationData(linkdata[1]);
+                List pages = new java.util.ArrayList();
+                pages.add(pv);
+                dest.resolveIDRef(linkdata[1], pages);
+                areaStack.push(dest);
+            }
+
+            public void endElement() {
+                Object tos = areaStack.pop();
+                assertObjectOfClass(tos, DestinationData.class);
+                treeModel.handleOffDocumentItem((DestinationData) tos);
             }
         }
 

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/DestinationData.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/DestinationData.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/DestinationData.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/DestinationData.java Thu Jan 10 11:58:23 2008
@@ -22,7 +22,6 @@
 import java.util.List;
 
 import org.apache.fop.fo.extensions.destination.Destination;
-import org.apache.fop.area.PageViewport;
 /**
  * An instance of this class is named destination from fox:destination
  */
@@ -46,11 +45,19 @@
      * @param destination the fo:bookmark object
      */
     public DestinationData(Destination destination) {
-        idRef = destination.getInternalDestination();
-        idRefs = new String[] {idRef};
+        this(destination.getInternalDestination());
     }
 
     /**
+     * Create a new named destination.
+     * @param idRef the id reference of the destination
+     */
+    public DestinationData(String idRef) {
+        this.idRef = idRef;
+        this.idRefs = new String[] {idRef};
+    }
+    
+    /**
      * Get the idref for this destination
      *
      * @return the idref for the destination
@@ -99,9 +106,7 @@
         // TODO get rect area of id on page
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    /** {@inheritDoc} */
     public String getName() {
         return "Destination";
     }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java Thu Jan 10 11:58:23 2008
@@ -173,7 +173,7 @@
                     }
                 } catch (Exception e) {
                     // use error handler to handle this FOP or IO Exception
-                    log.error(e);
+                    log.error("Error while rendering page " + pageViewport.getPageIndex(), e);
                     if (e instanceof RuntimeException) {
                         throw (RuntimeException)e;
                     }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/Constants.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/Constants.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/Constants.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/Constants.java Thu Jan 10 11:58:23 2008
@@ -1087,6 +1087,12 @@
     int EN_SMALL_CAPTION = 184;
     /** Enumeration constant -- font shorthand */
     int EN_STATUS_BAR = 185;
+    /** Enumeration constant -- for page-position, XSL 1.1 */
+    int EN_ONLY = 186; 
+    /** Enumeration constant -- for instream-foreign-object and external-graphic, XSL 1.1 */
+    int EN_SCALE_DOWN_TO_FIT = 187; 
+    /** Enumeration constant -- for instream-foreign-object and external-graphic, XSL 1.1 */
+    int EN_SCALE_UP_TO_FIT = 188; 
     /** Number of enumeration constants defined */
-    int ENUM_COUNT = 185;
+    int ENUM_COUNT = 188;
 }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOEventHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOEventHandler.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOEventHandler.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOEventHandler.java Thu Jan 10 11:58:23 2008
@@ -25,6 +25,7 @@
 import org.xml.sax.SAXException;
 
 import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fo.extensions.ExternalDocument;
 import org.apache.fop.fo.flow.BasicLink;
 import org.apache.fop.fo.flow.Block;
 import org.apache.fop.fo.flow.BlockContainer;
@@ -555,6 +556,20 @@
      * @param length Portion of array to process.
      */
     public void characters(char data[], int start, int length) {
+    }
+
+    /**
+     * Process the start of the external-document extension.
+     * @param document the external-document node
+     */
+    public void startExternalDocument(ExternalDocument document) {
+    }
+
+    /**
+     * Process the end of the external-document extension.
+     * @param document the external-document node
+     */
+    public void endExternalDocument(ExternalDocument document) {
     }
 
 }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FONode.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FONode.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FONode.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FONode.java Thu Jan 10 11:58:23 2008
@@ -45,6 +45,7 @@
 
     /** the XSL-FO namespace URI */
     protected static final String FO_URI = FOElementMapping.URI;
+    /** FOP's proprietary extension namespace URI */
     protected static final String FOX_URI = ExtensionElementMapping.URI;
 
     /** Parent FO node */
@@ -197,11 +198,13 @@
     /**
      * Checks to make sure, during SAX processing of input document, that the
      * incoming node is valid for the this (parent) node (e.g., checking to
-     * see that fo:table is not an immediate child of fo:root)
-     * called within FObj constructor
+     * see that <code>fo:table</code> is not an immediate child of <code>fo:root</code>)
+     * called from {@link FOTreeBuilder#startElement(String, String, String, Attributes)}
+     * before constructing the child {@link FObj}.
+     * 
      * @param loc location in the FO source file
      * @param namespaceURI namespace of incoming node
-     * @param localName (e.g. "table" for "fo:table")
+     * @param localName name of the incoming node (without namespace prefix)
      * @throws ValidationException if incoming node not valid for parent
      */
     protected void validateChildNode(Locator loc, String namespaceURI, String localName) 
@@ -210,6 +213,27 @@
     }
 
     /**
+     * Static version of {@link FONode#validateChildNode(Locator, String, String)} that
+     * can be used by subclasses that need to validate children against a different node
+     * (for example: <code>fo:wrapper</code> needs to check if the incoming node is a 
+     *  valid child to its parent)
+     *  
+     * @param fo    the FONode to validate against
+     * @param loc   location in the source file
+     * @param namespaceURI  namespace of the incoming node
+     * @param localName     name of the incoming node (without namespace prefix) 
+     * @throws ValidationException if the incoming node is not a valid child for the given FO
+     */
+    protected static void validateChildNode(
+                                FONode fo, 
+                                Locator loc, 
+                                String namespaceURI, 
+                                String localName) 
+            throws ValidationException {
+        fo.validateChildNode(loc, namespaceURI, localName);
+    }
+    
+    /**
      * Adds characters (does nothing here)
      * @param data array of characters containing text to be added
      * @param start starting array element to add
@@ -572,8 +596,8 @@
     }
     
     /**
-     * Returns the Constants class integer value of this node
-     * @return the integer enumeration of this FO (e.g., FO_ROOT)
+     * Returns the {@link Constants} class integer value of this node
+     * @return the integer enumeration of this FO (e.g. FO_ROOT)
      *      if a formatting object, FO_UNKNOWN_NODE otherwise
      */
     public int getNameId() {
@@ -632,6 +656,14 @@
         }
     }
     
+    /**
+     * This method is used when adding child nodes to a FO that already
+     * contains at least one child. In this case, the new child becomes a
+     * sibling to the previous one
+     * 
+     * @param precedingSibling  the previous child
+     * @param followingSibling  the new child
+     */
     protected static void attachSiblings(FONode precedingSibling, 
                                          FONode followingSibling) {
         if (precedingSibling.siblings == null) {
@@ -688,7 +720,7 @@
          * @return the last node in the list
          * @throws NoSuchElementException if the list is empty
          */
-        public FONode lastNode();        
+        public FONode lastNode();
 
     }
 }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOPropertyMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOPropertyMapping.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOPropertyMapping.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOPropertyMapping.java Thu Jan 10 11:58:23 2008
@@ -25,13 +25,13 @@
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.datatypes.LengthBase;
 import org.apache.fop.fo.expr.PropertyException;
+import org.apache.fop.fo.flow.table.TableFObj.ColumnNumberPropertyMaker;
 import org.apache.fop.fo.properties.BackgroundPositionShorthandParser;
 import org.apache.fop.fo.properties.BorderSpacingShorthandParser;
 import org.apache.fop.fo.properties.BorderWidthPropertyMaker;
 import org.apache.fop.fo.properties.BoxPropShorthandParser;
 import org.apache.fop.fo.properties.CharacterProperty;
 import org.apache.fop.fo.properties.ColorProperty;
-import org.apache.fop.fo.flow.table.TableFObj.ColumnNumberPropertyMaker;
 import org.apache.fop.fo.properties.CondLengthProperty;
 import org.apache.fop.fo.properties.CorrespondingPropertyMaker;
 import org.apache.fop.fo.properties.DimensionPropertyMaker;
@@ -1141,7 +1141,7 @@
         m.useGeneric(genericSpace);
         corr = new SpacePropertyMaker(m);
         corr.setCorresponding(PR_MARGIN_TOP, PR_MARGIN_TOP, PR_MARGIN_RIGHT);
-        corr.setUseParent(true);
+        corr.setUseParent(false);
         corr.setRelative(true);
         addPropertyMaker("space-before", m);
 
@@ -1353,6 +1353,8 @@
         l.setInherited(false);
         l.addEnum("auto", getEnumProperty(EN_AUTO, "AUTO"));
         l.addEnum("scale-to-fit", getEnumProperty(EN_SCALE_TO_FIT, "SCALE_TO_FIT"));
+        l.addEnum("scale-down-to-fit", getEnumProperty(EN_SCALE_DOWN_TO_FIT, "SCALE_DOWN_TO_FIT"));
+        l.addEnum("scale-up-to-fit", getEnumProperty(EN_SCALE_UP_TO_FIT, "SCALE_UP_TO_FIT"));
         l.setDefault("auto");
         l.setPercentBase(LengthBase.IMAGE_INTRINSIC_HEIGHT);
         addPropertyMaker("content-height", l);
@@ -1362,6 +1364,8 @@
         l.setInherited(false);
         l.addEnum("auto", getEnumProperty(EN_AUTO, "AUTO"));
         l.addEnum("scale-to-fit", getEnumProperty(EN_SCALE_TO_FIT, "SCALE_TO_FIT"));
+        l.addEnum("scale-down-to-fit", getEnumProperty(EN_SCALE_DOWN_TO_FIT, "SCALE_DOWN_TO_FIT"));
+        l.addEnum("scale-up-to-fit", getEnumProperty(EN_SCALE_UP_TO_FIT, "SCALE_UP_TO_FIT"));
         l.setDefault("auto");
         l.setPercentBase(LengthBase.IMAGE_INTRINSIC_WIDTH);
         addPropertyMaker("content-width", l);
@@ -1798,7 +1802,7 @@
         // keep-together
         m  = new KeepProperty.Maker(PR_KEEP_TOGETHER);
         m.useGeneric(genericKeep);
-        m.setInherited(false);
+        m.setInherited(true);
         m.setDefault("auto");
         m.addShorthand(s_generics[PR_PAGE_BREAK_INSIDE]);
         addPropertyMaker("keep-together", m);
@@ -2223,6 +2227,7 @@
         m.addEnum("last", getEnumProperty(EN_LAST, "LAST"));
         m.addEnum("rest", getEnumProperty(EN_REST, "REST"));
         m.addEnum("any", getEnumProperty(EN_ANY, "ANY"));
+        m.addEnum("only", getEnumProperty(EN_ONLY, "ONLY")); //XSL 1.1
         m.setDefault("any");
         addPropertyMaker("page-position", m);
 

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOTreeBuilder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOTreeBuilder.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOTreeBuilder.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/FOTreeBuilder.java Thu Jan 10 11:58:23 2008
@@ -21,25 +21,27 @@
 
 import java.io.OutputStream;
 
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fo.extensions.ExtensionElementMapping;
+
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FormattingResults;
 import org.apache.fop.area.AreaTreeHandler;
 import org.apache.fop.fo.ElementMapping.Maker;
+import org.apache.fop.fo.extensions.ExtensionElementMapping;
 import org.apache.fop.fo.pagination.Root;
 import org.apache.fop.image.ImageFactory;
 import org.apache.fop.util.ContentHandlerFactory;
-import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
 import org.apache.fop.util.ContentHandlerFactory.ObjectBuiltListener;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
+import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
 
 /**
  * SAX Handler that passes parsed data to the various
@@ -79,6 +81,7 @@
     private FOUserAgent userAgent;
     
     private boolean used = false;
+    private boolean empty = true;
     
     private int depth;
     
@@ -145,6 +148,7 @@
                     + " Please instantiate a new instance.");
         }
         used = true;
+        empty = true;
         rootFObj = null;    // allows FOTreeBuilder to be reused
         if (log.isDebugEnabled()) {
             log.debug("Building formatting object tree");
@@ -160,6 +164,10 @@
      */
     public void endDocument() throws SAXException {
         this.delegate.endDocument();
+        if (this.rootFObj == null && empty) {
+            throw new ValidationException(
+                    "Document is empty (something might be wrong with your XSLT stylesheet).");
+        }
         rootFObj = null;
         if (log.isDebugEnabled()) {
             log.debug("Parsing of document complete");
@@ -280,6 +288,7 @@
 
             // Check to ensure first node encountered is an fo:root
             if (rootFObj == null) {
+                empty = false;
                 if (!namespaceURI.equals(FOElementMapping.URI) 
                     || !localName.equals("root")) {
                     throw new ValidationException(

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/PropertyList.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/PropertyList.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/PropertyList.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/PropertyList.java Thu Jan 10 11:58:23 2008
@@ -20,6 +20,8 @@
 package org.apache.fop.fo;
 
 // Java
+import java.text.MessageFormat;
+
 import org.xml.sax.Attributes;
 
 import org.apache.commons.logging.Log;
@@ -355,9 +357,9 @@
         if (propId == -1 
                 || (subpropId == -1 
                         && findSubPropertyName(propertyName) != null)) {
-            StringBuffer errorMessage = new StringBuffer().append(
-                        "Invalid property name \'").append(propertyName);
-            handleInvalidProperty(errorMessage.toString(), propertyName);
+            String errorMessage = MessageFormat.format(
+                    "Invalid property name ''{0}''.", new Object[] {propertyName});
+            handleInvalidProperty(errorMessage, propertyName);
             return false;
         }
         return true;

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/extensions/ExtensionElementMapping.java Thu Jan 10 11:58:23 2008
@@ -62,12 +62,19 @@
             foObjs.put("outline", new UnknownXMLObj.Maker(URI));
             foObjs.put("label", new UnknownXMLObj.Maker(URI));
             foObjs.put("destination", new DestinationMaker());
+            foObjs.put("external-document", new ExternalDocumentMaker());
         }
     }
     
     static class DestinationMaker extends ElementMapping.Maker {
         public FONode make(FONode parent) {
             return new Destination(parent);
+        }
+    }
+
+    static class ExternalDocumentMaker extends ElementMapping.Maker {
+        public FONode make(FONode parent) {
+            return new ExternalDocument(parent);
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/AbstractGraphics.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/AbstractGraphics.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/AbstractGraphics.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/AbstractGraphics.java Thu Jan 10 11:58:23 2008
@@ -23,6 +23,7 @@
 import org.apache.fop.datatypes.Length;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.GraphicsProperties;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
 import org.apache.fop.fo.properties.LengthRangeProperty;
@@ -32,7 +33,7 @@
  * Common base class for instream-foreign-object and external-graphics
  * flow formatting objects.
  */
-public abstract class AbstractGraphics extends FObj {
+public abstract class AbstractGraphics extends FObj implements GraphicsProperties {
     
     // The value of properties relevant for fo:instream-foreign-object
     // and external-graphics.
@@ -101,56 +102,6 @@
     }
 
     /**
-     * Given the ipd and the content width calculates the
-     * required x offset based on the text-align property
-     * @param ipd the inline-progression-dimension of the object
-     * @param cwidth the calculated content width of the object
-     * @return the X offset
-     */
-    public int computeXOffset (int ipd, int cwidth) {
-        int xoffset = 0;
-        switch (textAlign) {
-            case EN_CENTER:
-                xoffset = (ipd - cwidth) / 2;
-                break;
-            case EN_END:
-                xoffset = ipd - cwidth;
-                break;
-            case EN_START:
-                break;
-            case EN_JUSTIFY:
-            default:
-                break;
-        }
-        return xoffset;
-    }
-
-    /**
-     * Given the bpd and the content height calculates the
-     * required y offset based on the display-align property
-     * @param bpd the block-progression-dimension of the object
-     * @param cheight the calculated content height of the object
-     * @return the Y offset
-     */
-    public int computeYOffset(int bpd, int cheight) {
-        int yoffset = 0;
-        switch (displayAlign) {
-            case EN_BEFORE:
-                break;
-            case EN_AFTER:
-                yoffset = bpd - cheight;
-                break;
-            case EN_CENTER:
-                yoffset = (bpd - cheight) / 2;
-                break;
-            case EN_AUTO:
-            default:
-                break;
-        }
-        return yoffset;
-    }
-
-    /**
      * @return the "id" property.
      */
     public String getId() {
@@ -171,16 +122,12 @@
         return lineHeight;
     }
 
-    /**
-     * @return the "inline-progression-dimension" property.
-     */
+    /** {@inheritDoc} */
     public LengthRangeProperty getInlineProgressionDimension() {
         return inlineProgressionDimension;
     }
 
-    /**
-     * @return the "block-progression-dimension" property.
-     */
+    /** {@inheritDoc} */
     public LengthRangeProperty getBlockProgressionDimension() {
         return blockProgressionDimension;
     }
@@ -199,32 +146,34 @@
         return width;
     }
 
-    /**
-     * @return the "content-height" property.
-     */
+    /** {@inheritDoc} */
     public Length getContentHeight() {
         return contentHeight;
     }
 
-    /**
-     * @return the "content-width" property.
-     */
+    /** {@inheritDoc} */
     public Length getContentWidth() {
         return contentWidth;
     }
 
-    /**
-     * @return the "scaling" property.
-     */
+    /** {@inheritDoc} */
     public int getScaling() {
         return scaling;
     }
 
-    /**
-     * @return the "overflow" property.
-     */
+    /** {@inheritDoc} */
     public int getOverflow() {
         return overflow;
+    }
+
+    /** {@inheritDoc} */
+    public int getDisplayAlign() {
+        return displayAlign;
+    }
+
+    /** {@inheritDoc} */
+    public int getTextAlign() {
+        return textAlign;
     }
 
     /**

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java Thu Jan 10 11:58:23 2008
@@ -24,7 +24,6 @@
 import org.apache.fop.fo.FObjMixed;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
-import org.apache.fop.fo.pagination.Flow;
 import org.xml.sax.Locator;
 
 /**
@@ -38,49 +37,43 @@
     
     // used for FO validation
     private boolean blockOrInlineItemFound = false;
-    private boolean isFlowChild = false;
+    private boolean inlineChildrenAllowed = false;
 
     /**
      * @param parent FONode that is the parent of this object
      */
     public Wrapper(FONode parent) {
         super(parent);
-        /* Check if the fo:wrapper is a child of an fo:flow or fo:static-content
+        /* Check if the fo:wrapper is a child of a FO that allows mixed content
          * (or a descendant in nested fo:wrapper sequence, the first of which
-         *  is a child of an fo:flow or fo:static-content */
+         *  is a child of a FO that allows mixed content) */
         FONode ancestor = this.parent;
-        while (!(ancestor instanceof Flow)
-                && ancestor instanceof Wrapper) {
+        while (ancestor instanceof Wrapper) {
             ancestor = ancestor.getParent();
         }
-        if (ancestor instanceof Flow) {
-            this.isFlowChild = true;
+        if (ancestor instanceof FObjMixed ) {
+            inlineChildrenAllowed = true;
         }
     }
 
     /**
      * {@inheritDoc}
-     * XSL Content Model: marker* (#PCDATA|%inline;|%block;)*
-     * Additionally (unimplemented): "An fo:wrapper that is a child of an 
+     * <br>XSL Content Model: marker* (#PCDATA|%inline;|%block;)*
+     * <br><i>Additionally (unimplemented): "An fo:wrapper that is a child of an 
      * fo:multi-properties is only permitted to have children that would 
-     * be permitted in place of the fo:multi-properties."
+     * be permitted in place of the fo:multi-properties."</i>
      * 
      */
     protected void validateChildNode(Locator loc, String nsURI, String localName) 
         throws ValidationException {
-        if (FO_URI.equals(nsURI) && localName.equals("marker")) {
+        if (FO_URI.equals(nsURI) && "marker".equals(localName)) {
             if (blockOrInlineItemFound) {
                nodesOutOfOrderError(loc, "fo:marker", 
                     "(#PCDATA|%inline;|%block;)");
             }
         } else if (isBlockOrInlineItem(nsURI, localName)) {
-            if (isFlowChild
-                    && isInlineItem(nsURI, localName)
-                    && !isNeutralItem(nsURI, localName)) {
-                invalidChildError(loc, nsURI, localName,
-                        "fo:" + localName + " not allowed as child of an fo:wrapper "
-                        + "that is a child of an fo:flow or fo:static-content");
-            }
+            //delegate validation to parent
+            FONode.validateChildNode(this.parent, loc, nsURI, localName);
             blockOrInlineItemFound = true;
         } else {
             invalidChildError(loc, nsURI, localName);
@@ -94,9 +87,8 @@
                 int end, 
                 PropertyList pList, 
                 Locator locator) throws FOPException {
-        /* Only add text if the fo:wrapper is not a child of an fo:flow 
-         * or fo:static-content */
-        if (!this.isFlowChild) {
+        /* Only add text if the fo:wrapper's parent allows inline children */
+        if (this.inlineChildrenAllowed) {
             super.addCharacters(data, start, end, pList, locator);
         }
     }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderResolver.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderResolver.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderResolver.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderResolver.java Thu Jan 10 11:58:23 2008
@@ -44,10 +44,8 @@
 
     /**
      * Receives notification of the end of a table-header/footer/body.
-     * 
-     * @param part the part that has ended
      */
-    void endPart(TableBody part);
+    void endPart();
 
     /**
      * Receives notification of the end of the table.

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderSpecification.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderSpecification.java?rev=610906&r1=610905&r2=610906&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderSpecification.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/table/BorderSpecification.java Thu Jan 10 11:58:23 2008
@@ -20,6 +20,7 @@
 package org.apache.fop.fo.flow.table;
 
 import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground.BorderInfo;
 
 /**
@@ -28,6 +29,8 @@
  */
 public/*TODO*/ class BorderSpecification {
 
+    private static BorderSpecification defaultBorder;
+
     private BorderInfo borderInfo;
 
     private int holder;
@@ -43,6 +46,14 @@
         this.holder = holder;
     }
 
+    static synchronized BorderSpecification getDefaultBorder() {
+        if (defaultBorder == null) {
+            defaultBorder = new BorderSpecification(CommonBorderPaddingBackground
+                    .getDefaultBorderInfo(), Constants.FO_TABLE_CELL);
+        }
+        return defaultBorder;
+    }
+
     /**
      * Returns this border's informations.
      * 
@@ -66,6 +77,17 @@
 
     /** {@inheritDoc} */
     public String toString() {
-        return "{" + borderInfo + ", " + holder + "}";
+        String holderName = "";
+        switch (holder) {
+        case Constants.FO_TABLE: holderName = "table"; break;
+        case Constants.FO_TABLE_COLUMN: holderName = "table-column"; break;
+        case Constants.FO_TABLE_HEADER: holderName = "table-header"; break;
+        case Constants.FO_TABLE_FOOTER: holderName = "table-footer"; break;
+        case Constants.FO_TABLE_BODY: holderName = "table-body"; break;
+        case Constants.FO_TABLE_ROW: holderName = "table-row"; break;
+        case Constants.FO_TABLE_CELL: holderName = "table-cell"; break;
+        default: assert false;
+        }
+        return "{" + borderInfo + ", " + holderName + "}";
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org