org.apache.xalan.lib
Class PipeDocument

java.lang.Object
  extended byorg.apache.xalan.lib.PipeDocument

public class PipeDocument
extends 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"
 

Author:
Donald Leslie

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(Vector vTHandler, String source, 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,
                         IOException,
                         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
IOException
FileNotFoundException

usePipe

public void usePipe(Vector vTHandler,
                    String source,
                    String target)
             throws javax.xml.transform.TransformerException,
                    javax.xml.transform.TransformerConfigurationException,
                    FileNotFoundException,
                    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) and #main.

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
FileNotFoundException
IOException
org.xml.sax.SAXException
org.xml.sax.SAXNotRecognizedException