## org.apache.xalan.lib
Class PipeDocument

    java.lang.Object
      |
      +--org.apache.xalan.lib.PipeDocument

public class PipeDocument
extends java.lang.Object

PipeDocument is a Xalan extension element to set stylesheet params and pipes an XML document through a series of 1 or more stylesheets. PipeDocument is invoked from a stylesheet as the pipeDocument extension element. It is accessed by specifying a namespace URI as follows:

        xmlns:pipe="http://xml.apache.org/xalan/PipeDocument"

Constructor Summary
`PipeDocument()`

Method Summary
`void` `pipeDocument(XSLProcessorContext context, ElemExtensionCall elem)` Extension element for piping an XML document through a series of 1 or more transformations.
`void` `usePipe(java.util.Vector vTHandler, java.lang.String source, java.lang.String target)` Uses a Vector of TransformerHandlers to pipe XML input document through a series of 1 or more transformations.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PipeDocument

    public PipeDocument()

Method Detail

### pipeDocument

    public void pipeDocument(XSLProcessorContext context,
                             ElemExtensionCall elem)
                      throws TransformerException,
                             TransformerConfigurationException,
                             SAXException,
                             java.io.IOException,
                             java.io.FileNotFoundException

  Extension element for piping an XML document through a series of 1 or more transformations.

      Common usage pattern: A stylesheet transforms a listing of documents to be
       transformed into a TOC. For each document in the listing calls the pipeDocument
       extension element to pipe that document through a series of 1 or more stylesheets
       to the desired output document.

       Syntax:
       <xsl:stylesheet version="1.0"
                      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                      xmlns:pipe="http://xml.apache.org/xalan/PipeDocument"
                      extension-element-prefixes="pipe">
       ...
       <pipe:pipeDocument   source="source.xml" target="target.xml">
         <stylesheet href="ss1.xsl">
           <param name="param1" value="value1"/>
         </stylesheet>
         <stylesheet href="ss2.xsl">
           <param name="param1" value="value1"/>
           <param name="param2" value="value2"/>
         </stylesheet>
         <stylesheet href="ss1.xsl"/>
       </pipe:pipeDocument>

       Notes:

  - The base URI for the source attribute is the XML "listing" document.
  - The target attribute is taken as is (base is the current user directory).
  - The stylsheet containg the extension element is the base URI for the stylesheet hrefs.

### usePipe

    public void usePipe(java.util.Vector vTHandler,
                        java.lang.String source,
                        java.lang.String target)
                 throws TransformerException,
                        TransformerConfigurationException,
                        java.io.FileNotFoundException,
                        java.io.IOException,
                        SAXException,
                        SAXNotRecognizedException

  Uses a Vector of TransformerHandlers to pipe XML input document through a series of 1 or more transformations. Called by `pipeDocument(org.apache.xalan.extensions.XSLProcessorContext, org.apache.xalan.templates.ElemExtensionCall)`.
  Parameters:
    `vTHandler` - Vector of Transformation Handlers (1 per stylesheet).
    `source` - absolute URI to XML input
    `target` - absolute path to transformation output.

Copyright © 2006 Apache XML Project. All Rights Reserved.