⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 process.java

📁 java1.6众多例子参考
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: Process.java,v 1.2.4.2 2005/09/15 18:21:57 jeffsuttor Exp $ */package com.sun.org.apache.xalan.internal.xslt;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.PrintWriter;import java.io.StringReader;import java.util.Properties;import java.util.ResourceBundle;import java.util.Vector;import javax.xml.XMLConstants;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;import javax.xml.transform.Source;import javax.xml.transform.Templates;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.TransformerFactoryConfigurationError;import javax.xml.transform.URIResolver;import javax.xml.transform.dom.DOMResult;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.sax.SAXResult;import javax.xml.transform.sax.SAXSource;import javax.xml.transform.sax.SAXTransformerFactory;import javax.xml.transform.sax.TransformerHandler;import javax.xml.transform.stream.StreamResult;import javax.xml.transform.stream.StreamSource;import com.sun.org.apache.xalan.internal.Version;import com.sun.org.apache.xalan.internal.res.XSLMessages;import com.sun.org.apache.xalan.internal.res.XSLTErrorResources;//J2SE does not support Xalan interpretive/*import com.sun.org.apache.xalan.internal.trace.PrintTraceListener;import com.sun.org.apache.xalan.internal.trace.TraceManager;import com.sun.org.apache.xalan.internal.transformer.XalanProperties;*/import com.sun.org.apache.xml.internal.utils.DefaultErrorHandler;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.xml.sax.ContentHandler;import org.xml.sax.EntityResolver;import org.xml.sax.InputSource;import org.xml.sax.XMLReader;import org.xml.sax.helpers.XMLReaderFactory;/** * The main() method handles the Xalan command-line interface. * @xsl.usage general */public class Process{  /**   * Prints argument options.   *   * @param resbundle Resource bundle   */  protected static void printArgOptions(ResourceBundle resbundle)  {    System.out.println(resbundle.getString("xslProc_option"));  //"xslproc options: ");    System.out.println("\n\t\t\t" + resbundle.getString("xslProc_common_options") + "\n");    System.out.println(resbundle.getString("optionXSLTC"));  //"    [-XSLTC (use XSLTC for transformation)]    System.out.println(resbundle.getString("optionIN"));  //"    [-IN inputXMLURL]");    System.out.println(resbundle.getString("optionXSL"));  //"   [-XSL XSLTransformationURL]");    System.out.println(resbundle.getString("optionOUT"));  //"   [-OUT outputFileName]");    // System.out.println(resbundle.getString("optionE")); //"   [-E (Do not expand entity refs)]");    System.out.println(resbundle.getString("optionV"));  //"   [-V (Version info)]");    // System.out.println(resbundle.getString("optionVALIDATE")); //"   [-VALIDATE (Set whether validation occurs.  Validation is off by default.)]");    System.out.println(resbundle.getString("optionEDUMP"));  //"   [-EDUMP {optional filename} (Do stackdump on error.)]");    System.out.println(resbundle.getString("optionXML"));  //"   [-XML (Use XML formatter and add XML header.)]");    System.out.println(resbundle.getString("optionTEXT"));  //"   [-TEXT (Use simple Text formatter.)]");    System.out.println(resbundle.getString("optionHTML"));  //"   [-HTML (Use HTML formatter.)]");    System.out.println(resbundle.getString("optionPARAM"));  //"   [-PARAM name expression (Set a stylesheet parameter)]");        System.out.println(resbundle.getString("optionMEDIA"));    System.out.println(resbundle.getString("optionFLAVOR"));    System.out.println(resbundle.getString("optionDIAG"));    System.out.println(resbundle.getString("optionURIRESOLVER"));  //"   [-URIRESOLVER full class name (URIResolver to be used to resolve URIs)]");        System.out.println(resbundle.getString("optionENTITYRESOLVER"));  //"   [-ENTITYRESOLVER full class name (EntityResolver to be used to resolve entities)]");    waitForReturnKey(resbundle);    System.out.println(resbundle.getString("optionCONTENTHANDLER"));  //"   [-CONTENTHANDLER full class name (ContentHandler to be used to serialize output)]");    System.out.println(resbundle.getString("optionSECUREPROCESSING")); //"   [-SECURE (set the secure processing feature to true)]");        // J2SE does not support Xalan interpretive    /*    System.out.println("\n\t\t\t" + resbundle.getString("xslProc_xalan_options") + "\n");        System.out.println(resbundle.getString("optionQC"));  //"   [-QC (Quiet Pattern Conflicts Warnings)]");    // System.out.println(resbundle.getString("optionQ"));  //"   [-Q  (Quiet Mode)]"); // sc 28-Feb-01 commented out    System.out.println(resbundle.getString("optionTT"));  //"   [-TT (Trace the templates as they are being called.)]");    System.out.println(resbundle.getString("optionTG"));  //"   [-TG (Trace each generation event.)]");    System.out.println(resbundle.getString("optionTS"));  //"   [-TS (Trace each selection event.)]");    System.out.println(resbundle.getString("optionTTC"));  //"   [-TTC (Trace the template children as they are being processed.)]");    System.out.println(resbundle.getString("optionTCLASS"));  //"   [-TCLASS (TraceListener class for trace extensions.)]");    System.out.println(resbundle.getString("optionLINENUMBERS")); //"   [-L use line numbers]"    System.out.println(resbundle.getString("optionINCREMENTAL"));    System.out.println(resbundle.getString("optionNOOPTIMIMIZE"));    System.out.println(resbundle.getString("optionRL"));    */           System.out.println("\n\t\t\t" + resbundle.getString("xslProc_xsltc_options") + "\n");    System.out.println(resbundle.getString("optionXO"));    waitForReturnKey(resbundle);        System.out.println(resbundle.getString("optionXD"));    System.out.println(resbundle.getString("optionXJ"));    System.out.println(resbundle.getString("optionXP"));    System.out.println(resbundle.getString("optionXN"));    System.out.println(resbundle.getString("optionXX"));    System.out.println(resbundle.getString("optionXT"));  }    /**   * Command line interface to transform an XML document according to   * the instructions found in an XSL stylesheet.     * <p>The Process class provides basic functionality for    * performing transformations from the command line.  To see a    * list of arguments supported, call with zero arguments.</p>   * <p>To set stylesheet parameters from the command line, use    * <code>-PARAM name expression</code>. If you want to set the    * parameter to a string value, simply pass the string value    * as-is, and it will be interpreted as a string.  (Note: if    * the value has spaces in it, you may need to quote it depending    * on your shell environment).</p>   *   * @param argv Input parameters from command line   */  // J2SE does not support Xalan interpretive  // main -> _main  public static void _main(String argv[])  {        // Runtime.getRuntime().traceMethodCalls(false); // turns Java tracing off    boolean doStackDumpOnError = false;    boolean setQuietMode = false;    boolean doDiag = false;    String msg = null;    boolean isSecureProcessing = false;    // Runtime.getRuntime().traceMethodCalls(false);    // Runtime.getRuntime().traceInstructions(false);    /**     * The default diagnostic writer...     */    java.io.PrintWriter diagnosticsWriter = new PrintWriter(System.err, true);    java.io.PrintWriter dumpWriter = diagnosticsWriter;    ResourceBundle resbundle =      (XSLMessages.loadResourceBundle(        com.sun.org.apache.xml.internal.utils.res.XResourceBundle.ERROR_RESOURCES));    String flavor = "s2s";    if (argv.length < 1)    {      printArgOptions(resbundle);    }    else    {   	// J2SE does not support Xalan interpretive        // false -> true        boolean useXSLTC = true;      for (int i = 0; i < argv.length; i++)      {        if ("-XSLTC".equalsIgnoreCase(argv[i]))        {          useXSLTC = true;        }      }              TransformerFactory tfactory;      if (useXSLTC)      {	 String key = "javax.xml.transform.TransformerFactory";	 String value = "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl";	 Properties props = System.getProperties();	 props.put(key, value);	 System.setProperties(props);            }            try      {        tfactory = TransformerFactory.newInstance();        tfactory.setErrorListener(new DefaultErrorHandler());      }      catch (TransformerFactoryConfigurationError pfe)      {        pfe.printStackTrace(dumpWriter);//      "XSL Process was not successful.");        msg = XSLMessages.createMessage(            XSLTErrorResources.ER_NOT_SUCCESSFUL, null);        diagnosticsWriter.println(msg);          tfactory = null;  // shut up compiler        doExit(msg);      }      boolean formatOutput = false;      boolean useSourceLocation = false;      String inFileName = null;      String outFileName = null;      String dumpFileName = null;      String xslFileName = null;      String treedumpFileName = null;      // J2SE does not support Xalan interpretive      /*      PrintTraceListener tracer = null;      */      String outputType = null;      String media = null;      Vector params = new Vector();      boolean quietConflictWarnings = false;      URIResolver uriResolver = null;      EntityResolver entityResolver = null;      ContentHandler contentHandler = null;      int recursionLimit=-1;      for (int i = 0; i < argv.length; i++)      {        if ("-XSLTC".equalsIgnoreCase(argv[i]))        {          // The -XSLTC option has been processed.        }        // J2SE does not support Xalan interpretive        /*        else if ("-TT".equalsIgnoreCase(argv[i]))        {          if (!useXSLTC)          {            if (null == tracer)              tracer = new PrintTraceListener(diagnosticsWriter);            tracer.m_traceTemplates = true;          }          else            printInvalidXSLTCOption("-TT");          // tfactory.setTraceTemplates(true);        }        else if ("-TG".equalsIgnoreCase(argv[i]))        {          if (!useXSLTC)          {            if (null == tracer)              tracer = new PrintTraceListener(diagnosticsWriter);            tracer.m_traceGeneration = true;          }          else            printInvalidXSLTCOption("-TG");          // tfactory.setTraceSelect(true);        }        else if ("-TS".equalsIgnoreCase(argv[i]))        {          if (!useXSLTC)          {            if (null == tracer)              tracer = new PrintTraceListener(diagnosticsWriter);            tracer.m_traceSelection = true;          }          else            printInvalidXSLTCOption("-TS");          // tfactory.setTraceTemplates(true);        }        else if ("-TTC".equalsIgnoreCase(argv[i]))        {          if (!useXSLTC)          {            if (null == tracer)              tracer = new PrintTraceListener(diagnosticsWriter);            tracer.m_traceElements = true;          }          else            printInvalidXSLTCOption("-TTC");          // tfactory.setTraceTemplateChildren(true);        }        */        else if ("-INDENT".equalsIgnoreCase(argv[i]))        {          int indentAmount;          if (((i + 1) < argv.length) && (argv[i + 1].charAt(0) != '-'))          {            indentAmount = Integer.parseInt(argv[++i]);          }          else          {            indentAmount = 0;          }          // TBD:          // xmlProcessorLiaison.setIndent(indentAmount);        }        else if ("-IN".equalsIgnoreCase(argv[i]))        {          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')            inFileName = argv[++i];          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-IN" }));  //"Missing argument for);        }        else if ("-MEDIA".equalsIgnoreCase(argv[i]))        {          if (i + 1 < argv.length)            media = argv[++i];          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-MEDIA" }));  //"Missing argument for);        }        else if ("-OUT".equalsIgnoreCase(argv[i]))        {          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')            outFileName = argv[++i];          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-OUT" }));  //"Missing argument for);        }        else if ("-XSL".equalsIgnoreCase(argv[i]))        {          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')            xslFileName = argv[++i];          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-XSL" }));  //"Missing argument for);        }        else if ("-FLAVOR".equalsIgnoreCase(argv[i]))        {          if (i + 1 < argv.length)          {            flavor = argv[++i];          }          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-FLAVOR" }));  //"Missing argument for);        }        else if ("-PARAM".equalsIgnoreCase(argv[i]))        {          if (i + 2 < argv.length)          {            String name = argv[++i];            params.addElement(name);            String expression = argv[++i];            params.addElement(expression);          }          else            System.err.println(              XSLMessages.createMessage(                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,                new Object[]{ "-PARAM" }));  //"Missing argument for);        }        else if ("-E".equalsIgnoreCase(argv[i]))        {          // TBD:          // xmlProcessorLiaison.setShouldExpandEntityRefs(false);        }        else if ("-V".equalsIgnoreCase(argv[i]))        {          diagnosticsWriter.println(resbundle.getString("version")  //">>>>>>> Xalan Version "                                    + Version.getVersion() + ", " +          /* xmlProcessorLiaison.getParserDescription()+ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -