| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 
 | try {
 
  //1. creates an handler for each xsl:
  String[] xslURLs = ... // tableau contenant le nom des xsl a appliquer
  TransformerHandler[] handlers = new TransformerHandler[xslURLs.length];
 
  for (int i = 0; i < xslURLs.length; i++) {
	handlers[i] = ((SAXTransformerFactory) tFactory).newTransformerHandler(new StreamSource(xslURLs[i]));
	//add parameters:
        Transformer current = handlers[i].getTransformer();
	current.setParameter(key1, value1);
        current.setParameter(key2, value2); //etc autant qu'on veut
  }
 
 
  //2. Wire the output of each handler to the next one:
  for (int i = 0; i < handlers.length-1; i++) {
      handlers[i].setResult(new SAXResult(handlers[i+1]));
  }
  handlers[handlers.length-1].setResult(new StreamResult(endingWriter));
 
 
  //3. Applies transformations:
  FileInputStream stream = new FileInputStream(xmlSource);
  XMLReader reader = XMLReaderFactory.createXMLReader();
  reader.setContentHandler(handlers[0]);
  reader.parse(new InputSource(new BufferedInputStream(stream)));
  stream.close();
 
} catch (..) ... | 
Partager