org.apache.xalan.lib
Class PipeDocument

java.lang.Object
  extended by 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PipeDocument

public PipeDocument()
Method Detail

pipeDocument

public void pipeDocument(XSLProcessorContext context,
                         ElemExtensionCall elem)
                  throws javax.xml.transform.TransformerException,
                         javax.xml.transform.TransformerConfigurationException,
                         org.xml.sax.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:

Throws:
javax.xml.transform.TransformerException
javax.xml.transform.TransformerConfigurationException
org.xml.sax.SAXException
java.io.IOException
java.io.FileNotFoundException

usePipe

public void usePipe(java.util.Vector vTHandler,
                    java.lang.String source,
                    java.lang.String target)
             throws javax.xml.transform.TransformerException,
                    javax.xml.transform.TransformerConfigurationException,
                    java.io.FileNotFoundException,
                    java.io.IOException,
                    org.xml.sax.SAXException,
                    org.xml.sax.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.
Throws:
javax.xml.transform.TransformerException
javax.xml.transform.TransformerConfigurationException
java.io.FileNotFoundException
java.io.IOException
org.xml.sax.SAXException
org.xml.sax.SAXNotRecognizedException