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

📄 process.java

📁 java1.6众多例子参考
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
          if (null != source)            stylesheet = tfactory.newTemplates(source);          else          {            if (null != media)              throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_IN_MEDIA, new Object[]{inFileName, media})); //"No stylesheet found in: "                                            // + inFileName + ", media="                                            // + media);            else              throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_PI, new Object[]{inFileName})); //"No xml-stylesheet PI found in: "                                             //+ inFileName);          }        }        if (null != stylesheet)        {          Transformer transformer = flavor.equals("th") ? null : stylesheet.newTransformer();          transformer.setErrorListener(new DefaultErrorHandler());          // Override the output format?          if (null != outputType)          {            transformer.setOutputProperty(OutputKeys.METHOD, outputType);          }          // J2SE does not support Xalan interpretive          /*          if (transformer instanceof com.sun.org.apache.xalan.internal.transformer.TransformerImpl)          {            com.sun.org.apache.xalan.internal.transformer.TransformerImpl impl = (com.sun.org.apache.xalan.internal.transformer.TransformerImpl)transformer;            TraceManager tm = impl.getTraceManager();            if (null != tracer)              tm.addTraceListener(tracer);            impl.setQuietConflictWarnings(quietConflictWarnings);			// This is currently controlled via TransformerFactoryImpl.            if (useSourceLocation)              impl.setProperty(XalanProperties.SOURCE_LOCATION, Boolean.TRUE);	    if(recursionLimit>0)	      impl.setRecursionLimit(recursionLimit);            // sc 28-Feb-01 if we re-implement this, please uncomment helpmsg in printArgOptions            // impl.setDiagnosticsOutput( setQuietMode ? null : diagnosticsWriter );          }          */          int nParams = params.size();          for (int i = 0; i < nParams; i += 2)          {            transformer.setParameter((String) params.elementAt(i),                                     (String) params.elementAt(i + 1));          }          if (uriResolver != null)            transformer.setURIResolver(uriResolver);          if (null != inFileName)          {            if (flavor.equals("d2d"))            {              // Parse in the xml data into a DOM              DocumentBuilderFactory dfactory =                DocumentBuilderFactory.newInstance();              dfactory.setCoalescing(true);              dfactory.setNamespaceAware(true);              if (isSecureProcessing)              {                try                {                  dfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);                }                catch (ParserConfigurationException pce) {}              }              DocumentBuilder docBuilder = dfactory.newDocumentBuilder();              if (entityResolver != null)                docBuilder.setEntityResolver(entityResolver);              Node xmlDoc = docBuilder.parse(new InputSource(inFileName));              Document doc = docBuilder.newDocument();              org.w3c.dom.DocumentFragment outNode =                doc.createDocumentFragment();              transformer.transform(new DOMSource(xmlDoc, inFileName),                                    new DOMResult(outNode));              // Now serialize output to disk with identity transformer              Transformer serializer = stf.newTransformer();              serializer.setErrorListener(new DefaultErrorHandler());                            Properties serializationProps =                stylesheet.getOutputProperties();              serializer.setOutputProperties(serializationProps);              if (contentHandler != null)              {                SAXResult result = new SAXResult(contentHandler);                serializer.transform(new DOMSource(outNode), result);              }              else                serializer.transform(new DOMSource(outNode), strResult);            }            else if (flavor.equals("th"))            {              for (int i = 0; i < 1; i++) // Loop for diagnosing bugs with inconsistent behavior              {              // System.out.println("Testing the TransformerHandler...");              XMLReader reader = null;              // Use JAXP1.1 ( if possible )                    try              {                javax.xml.parsers.SAXParserFactory factory =                  javax.xml.parsers.SAXParserFactory.newInstance();                factory.setNamespaceAware(true);                if (isSecureProcessing)                {                  try                  {                    factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);                  }                  catch (org.xml.sax.SAXException se) {}                }                javax.xml.parsers.SAXParser jaxpParser =                  factory.newSAXParser();                reader = jaxpParser.getXMLReader();              }              catch (javax.xml.parsers.ParserConfigurationException ex)              {                throw new org.xml.sax.SAXException(ex);              }              catch (javax.xml.parsers.FactoryConfigurationError ex1)              {                throw new org.xml.sax.SAXException(ex1.toString());              }              catch (NoSuchMethodError ex2){}              catch (AbstractMethodError ame){}              if (null == reader)              {                reader = XMLReaderFactory.createXMLReader();              }              // J2SE does not support Xalan interpretive              /*                            if (!useXSLTC)                stf.setAttribute(com.sun.org.apache.xalan.internal.processor.TransformerFactoryImpl.FEATURE_INCREMENTAL,                    Boolean.TRUE);              */                               TransformerHandler th = stf.newTransformerHandler(stylesheet);                            reader.setContentHandler(th);              reader.setDTDHandler(th);                            if(th instanceof org.xml.sax.ErrorHandler)                reader.setErrorHandler((org.xml.sax.ErrorHandler)th);                            try              {                reader.setProperty(                  "http://xml.org/sax/properties/lexical-handler", th);              }              catch (org.xml.sax.SAXNotRecognizedException e){}              catch (org.xml.sax.SAXNotSupportedException e){}              try              {                reader.setFeature("http://xml.org/sax/features/namespace-prefixes",                                  true);              } catch (org.xml.sax.SAXException se) {}                      th.setResult(strResult);                            reader.parse(new InputSource(inFileName));              }                                        }            else            {              if (entityResolver != null)              {                XMLReader reader = null;                // Use JAXP1.1 ( if possible )                      try                {                  javax.xml.parsers.SAXParserFactory factory =                    javax.xml.parsers.SAXParserFactory.newInstance();                  factory.setNamespaceAware(true);                  if (isSecureProcessing)                  {                    try                    {                      factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);                    }                    catch (org.xml.sax.SAXException se) {}                  }                  javax.xml.parsers.SAXParser jaxpParser =                    factory.newSAXParser();                  reader = jaxpParser.getXMLReader();                }                catch (javax.xml.parsers.ParserConfigurationException ex)                {                  throw new org.xml.sax.SAXException(ex);                }                catch (javax.xml.parsers.FactoryConfigurationError ex1)                {                  throw new org.xml.sax.SAXException(ex1.toString());                }                catch (NoSuchMethodError ex2){}                catch (AbstractMethodError ame){}                if (null == reader)                {                  reader = XMLReaderFactory.createXMLReader();                }                reader.setEntityResolver(entityResolver);                if (contentHandler != null)                {                  SAXResult result = new SAXResult(contentHandler);                  transformer.transform(                    new SAXSource(reader, new InputSource(inFileName)),                    result);                }                else                {                  transformer.transform(                    new SAXSource(reader, new InputSource(inFileName)),                    strResult);                }              }              else if (contentHandler != null)              {                SAXResult result = new SAXResult(contentHandler);                transformer.transform(new StreamSource(inFileName), result);              }              else              {                // System.out.println("Starting transform");                transformer.transform(new StreamSource(inFileName),                                      strResult);                // System.out.println("Done with transform");              }            }          }          else          {            StringReader reader =              new StringReader("<?xml version=\"1.0\"?> <doc/>");            transformer.transform(new StreamSource(reader), strResult);          }        }        else        {//          "XSL Process was not successful.");            msg = XSLMessages.createMessage(                XSLTErrorResources.ER_NOT_SUCCESSFUL, null);          diagnosticsWriter.println(msg);            doExit(msg);        }        	// close output streams	if (null != outFileName && strResult!=null)	{   	  java.io.OutputStream out = strResult.getOutputStream();   	  java.io.Writer writer = strResult.getWriter();   	  try   	  {      	    if (out != null) out.close();      	    if (writer != null) writer.close();   	  }   	  catch(java.io.IOException ie) {}	}                long stop = System.currentTimeMillis();        long millisecondsDuration = stop - start;        if (doDiag)        {        	Object[] msgArgs = new Object[]{ inFileName, xslFileName, new Long(millisecondsDuration) };            msg = XSLMessages.createMessage("diagTiming", msgArgs);        	diagnosticsWriter.println('\n');          	diagnosticsWriter.println(msg);        }                }      catch (Throwable throwable)      {        while (throwable               instanceof com.sun.org.apache.xml.internal.utils.WrappedRuntimeException)        {          throwable =            ((com.sun.org.apache.xml.internal.utils.WrappedRuntimeException) throwable).getException();        }        if ((throwable instanceof NullPointerException)                || (throwable instanceof ClassCastException))          doStackDumpOnError = true;        diagnosticsWriter.println();        if (doStackDumpOnError)          throwable.printStackTrace(dumpWriter);        else        {          DefaultErrorHandler.printLocation(diagnosticsWriter, throwable);          diagnosticsWriter.println(            XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null)            + " (" + throwable.getClass().getName() + "): "            + throwable.getMessage());        }        // diagnosticsWriter.println(XSLMessages.createMessage(XSLTErrorResources.ER_NOT_SUCCESSFUL, null)); //"XSL Process was not successful.");        if (null != dumpFileName)        {          dumpWriter.close();        }        doExit(throwable.getMessage());      }      if (null != dumpFileName)      {        dumpWriter.close();      }      if (null != diagnosticsWriter)      {        // diagnosticsWriter.close();      }      // if(!setQuietMode)      //  diagnosticsWriter.println(resbundle.getString("xsldone")); //"Xalan: done");      // else      // diagnosticsWriter.println("");  //"Xalan: done");    }  }    /** It is _much_ easier to debug under VJ++ if I can set a single breakpoint    * before this blows itself out of the water...   * (I keep checking this in, it keeps vanishing. Grr!)   * */  static void doExit(String msg)  {    throw new RuntimeException(msg);  }    /**   * Wait for a return key to continue   *    * @param resbundle The resource bundle   */  private static void waitForReturnKey(ResourceBundle resbundle)  {    System.out.println(resbundle.getString("xslProc_return_to_continue"));    try    {      while (System.in.read() != '\n');    }    catch (java.io.IOException e) { }    }    /**   * Print a message if an option cannot be used with -XSLTC.   *   * @param option The option String   */  private static void printInvalidXSLTCOption(String option)  {    System.err.println(XSLMessages.createMessage("xslProc_invalid_xsltc_option", new Object[]{option}));  }    /**   * Print a message if an option can only be used with -XSLTC.   *   * @param option The option String   */  private static void printInvalidXalanOption(String option)  {    System.err.println(XSLMessages.createMessage("xslProc_invalid_xalan_option", new Object[]{option}));  }}

⌨️ 快捷键说明

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