org.apache.xalan.lib

Class 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

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.

Method Details

pipeDocument

public void pipeDocument(XSLProcessorContext context,
                         ElemExtensionCall elem)
            throws TransformerException,
                   TransformerConfigurationException,
                   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:
  • 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(Vector vTHandler,
                    String source,
                    String target)
            throws TransformerException,
                   TransformerConfigurationException,
                   FileNotFoundException,
                   IOException,
                   SAXException,
                   SAXNotRecognizedException
Parameters:
vTHandler - Vector of Transformation Handlers (1 per stylesheet).
source - absolute URI to XML input
target - absolute path to transformation output.

Copyright B) 2004 Apache XML Project. All Rights Reserved.