org.cdlib.xtf.saxonExt.pipe
Class PipeFopElement

Object
  extended by NodeImpl
      extended by ElementImpl
          extended by ElementWithAttributes
              extended by StyleElement
                  extended by ExtensionInstruction
                      extended by ElementWithContent
                          extended by PipeFopElement
All Implemented Interfaces:
Source, SourceLocator, LocationProvider, SaxonLocator, Container, FingerprintedNode, Item, NodeInfo, ValueRepresentation, InstructionInfo, Locator

public class PipeFopElement
extends ElementWithContent

Implements a Saxon extension that runs the FOP processor to transform XSL-FO formatting instructions into a PDF file, and pipes that PDF back to the client.


Nested Class Summary
private static class PipeFopElement.MergeAt
           
private static class PipeFopElement.MergeMode
           
private static class PipeFopElement.PipeFopInstruction
          Worker class for PipeFopElement
 
Field Summary
private static HashMap<String,FopFactory> fopFactories
           
private static Lock fopLock
           
protected  int sequence
           
 
Fields inherited from class ElementWithContent
attribs
 
Fields inherited from class StyleElement
defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
 
Fields inherited from class ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class ElementImpl
nameCode, root
 
Fields inherited from class NodeImpl
index, NODE_LETTER, parent
 
Fields inherited from interface NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
 
Fields inherited from interface ValueRepresentation
EMPTY_VALUE_ARRAY
 
Constructor Summary
PipeFopElement()
           
 
Method Summary
 void addChild(NodeImpl arg0, int arg1)
           
 void compact(int arg0)
           
 Expression compile(Executable exec)
           
 AxisIterator enumerateChildren(NodeTest arg0)
           
 NodeInfo getFirstChild()
           
 NodeInfo getLastChild()
           
protected  NodeImpl getNthChild(int arg0)
           
protected  long getSequenceNumber()
           
 String getStringValue()
           
 CharSequence getStringValueCS()
           
 boolean hasChildNodes()
           
 void prepareAttributes()
          Derived classes need to come up with their mandatory and optional attributes and call parseAttributes() above.
 void useChildrenArray(NodeImpl[] arg0)
           
 
Methods inherited from class ElementWithContent
compileContent, mayContainSequenceConstructor, parseAttributes
 
Methods inherited from class ExtensionInstruction
isInstruction, mayContainFallback, validate
 
Methods inherited from class StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getConstructType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getReturnedItemType, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, replaceSubExpression, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree
 
Methods inherited from class ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarations
 
Methods inherited from class ElementImpl
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemId
 
Methods inherited from class NodeImpl
atomize, compareOrder, equals, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface InstructionInfo
getSystemId
 
Methods inherited from interface Locator
getColumnNumber, getPublicId
 
Methods inherited from interface SourceLocator
getColumnNumber, getPublicId
 

Field Detail

fopFactories

private static HashMap<String,FopFactory> fopFactories

fopLock

private static Lock fopLock

sequence

protected int sequence
Constructor Detail

PipeFopElement

public PipeFopElement()
Method Detail

prepareAttributes

public void prepareAttributes()
                       throws XPathException
Description copied from class: ElementWithContent
Derived classes need to come up with their mandatory and optional attributes and call parseAttributes() above.

Specified by:
prepareAttributes in class ElementWithContent
Throws:
XPathException

compile

public Expression compile(Executable exec)
                   throws XPathException
Specified by:
compile in class StyleElement
Throws:
XPathException

getSequenceNumber

protected final long getSequenceNumber()
Overrides:
getSequenceNumber in class NodeImpl

hasChildNodes

public final boolean hasChildNodes()
Specified by:
hasChildNodes in interface NodeInfo
Overrides:
hasChildNodes in class NodeImpl

enumerateChildren

public final AxisIterator enumerateChildren(NodeTest arg0)

getFirstChild

public final NodeInfo getFirstChild()
Overrides:
getFirstChild in class NodeImpl

getLastChild

public final NodeInfo getLastChild()
Overrides:
getLastChild in class NodeImpl

getNthChild

protected final NodeImpl getNthChild(int arg0)

getStringValue

public String getStringValue()

getStringValueCS

public CharSequence getStringValueCS()
Specified by:
getStringValueCS in interface Item
Specified by:
getStringValueCS in interface ValueRepresentation
Overrides:
getStringValueCS in class NodeImpl

useChildrenArray

public void useChildrenArray(NodeImpl[] arg0)

addChild

public void addChild(NodeImpl arg0,
                     int arg1)

compact

public void compact(int arg0)