[ Pobierz całość w formacie PDF ]

The Subsection Heading
This is the text of the subsection.
The Second Major Section
This section adds a LIST and a NOTE.
Here is the LIST:
1. Pears
2. Grapes
And here is the NOTE:
Note:
Don't forget to go to the hardware store on your way to the grocery!
The Third Major Section
In addition to the inline tag in the heading, this section defines the term inline, which literally means "no
line break". It also adds a simple link to the main page for the Java platform (http://java.sun.com), as well
as a link to the XML page.
http://java.sun.com/xml/jaxp-1.1/docs/tutorial/xslt/work/stylizer3.html [8/22/2001 12:54:52 PM]
http://java.sun.com/xml/jaxp-1.1/docs/tutorial/xslt/work/FilterChain.java
/*
* @(#)FilterChain.java 1.9 98/11/10
*
* Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
*
* Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
* modify and redistribute this software in source and binary code form,
* provided that i) this copyright notice and license appear on all copies of
* the software; and ii) Licensee does not utilize the software in a manner
* which is disparaging to Sun.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
*/
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.XMLFilter;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;
public class FilterChain
{
public static void main (String argv [])
{
if (argv.length != 3) {
System.err.println ("Usage: java FilterChain stylesheet1 stylesheet2 xmlfile");
System.exit (1);
http://java.sun.com/xml/jaxp-1.1/docs/tutorial/xslt/work/FilterChain.java (1 of 3) [8/22/2001 12:54:53 PM]
http://java.sun.com/xml/jaxp-1.1/docs/tutorial/xslt/work/FilterChain.java
}
try {
// Read the arguments
File stylesheet1 = new File(argv[0]);
File stylesheet2 = new File(argv[1]);
File datafile = new File(argv[2]);
// Set up the input stream
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(datafile));
InputSource input = new InputSource(bis);
// Set up to read the input file
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
XMLReader reader = parser.getXMLReader();
// Create the filters
// --SAXTransformerFactory is an interface
// --TransformerFactory is a concrete class
// --TransformerFactory actually returns a SAXTransformerFactory instance
// --We didn't care about that before, because we didn't use the
// --SAXTransformerFactory extensions. But now we do, so we cast the result.
SAXTransformerFactory stf =
(SAXTransformerFactory) TransformerFactory.newInstance();
XMLFilter filter1 = stf.newXMLFilter(new StreamSource(stylesheet1));
XMLFilter filter2 = stf.newXMLFilter(new StreamSource(stylesheet2));
// Wire the output of the reader to filter1
// and the output of filter1 to filter2
// --A filter is a kind of reader
// --Setting the parent sets the input reader
// --Since a filter is a reader, the "parent" could be another filter
filter1.setParent(reader);
filter2.setParent(filter1);
// Set up the output stream
StreamResult result = new StreamResult(System.out);
// Set up the transformer to process the SAX events generated
// by the last filter in the chain
Transformer transformer = stf.newTransformer();
SAXSource transformSource = new SAXSource(filter2, input);
transformer.transform(transformSource, result);
}
catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println ("\n** Transformer Factory error");
System.out.println(" " + tce.getMessage() );
// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null)
x = tce.getException();
x.printStackTrace();
}
catch (TransformerException te) {
// Error generated by the parser
System.out.println ("\n** Transformation error");
System.out.println(" " + te.getMessage() );
// Use the contained exception, if any [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • skydive.htw.pl
  • Copyright © 2016 Moje życie zaczęło siÄ™ w dniu, gdy ciÄ™ spotkaÅ‚em.
    Design: Solitaire