Browse Source

Allow to pass through document-level extensions from the first document passed to the IFConcatenator.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1026003 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Jeremias Maerki 13 years ago
parent
commit
e7e2907920

+ 9
- 2
src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java View File

@@ -19,7 +19,6 @@

package org.apache.fop.render.intermediate.util;


import java.awt.Dimension;

import javax.xml.transform.Source;
@@ -39,12 +38,17 @@ import org.apache.fop.render.intermediate.IFParser;
* <p>
* Note: This class will filter/ignore any document navigation events. Support for this may be
* added later.
* <p>
* Note: document-level extensions will only be transferred from the first document passed in.
* If you need to merge extensions from all the concatenated documents, you may have to merge
* these manually on the XML level, for example using XSLT.
*/
public class IFConcatenator {

private IFDocumentHandler targetHandler;

private int nextPageIndex = 0;
private boolean inFirstDocument = true;

/**
* Creates a new IF concatenator.
@@ -163,14 +167,17 @@ public class IFConcatenator {
/** {@inheritDoc} */
public void endDocument() throws IFException {
//ignore
inFirstDocument = false;
}

/** {@inheritDoc} */
public void handleExtensionObject(Object extension) throws IFException {
if (inPageSequence) {
if (inPageSequence || inFirstDocument) {
//Only pass through when inside page-sequence
//or for the first document (for document-level extensions).
super.handleExtensionObject(extension);
}
//Note:Extensions from non-first documents are ignored!
}

/** {@inheritDoc} */

Loading…
Cancel
Save