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

📄 xmltransformeradapter.java

📁 Rapla是一个灵活的多用户资源管理系统。它提供的一些功能有:日历GUI
💻 JAVA
字号:
/*---------------------------------------------------------------------------*
  | (C) 2006 Christopher Kohlhaas                                            |
  |                                                                          |
  | This program is free software; you can redistribute it and/or modify     |
  | it under the terms of the GNU General Public License as published by the |
  | Free Software Foundation. A copy of the license has been included with   |
  | these distribution in the COPYING file, if not go to www.fsf.org .       |
  |                                                                          |
  | As a special exception, you are granted the permissions to link this     |
  | program with every library, which license fulfills the Open Source       |
  | Definition as published by the Open Source Initiative (OSI).             |
  *--------------------------------------------------------------------------*/
package org.rapla.components.util.xml;

import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.sax.SAXTransformerFactory;

import org.xml.sax.SAXException;

final public class XMLTransformerAdapter {
    /** Here you can set the xslt-transformer-factory implementation that should be used if
        TransformerFactory.newInstance() fails. The default implementation
        is the saxon transformer-factory from the saxon project: net.sf.saxon.TransformerFactoryImpl
    */
    public static String XSLT_TRANSFORMER_FACTORY_IMPL = "com.icl.saxon.TransformerFactoryImpl";

    private static ClassLoader getClassLoader() {
        return XMLTransformerAdapter.class.getClassLoader();
    }

    public static void checkXMLSupport() throws ClassNotFoundException {
        try {
            getClassLoader().loadClass("javax.xml.transform.sax.SAXTransformerFactory");
        } catch (ClassNotFoundException ex) {
            throw new ClassNotFoundException
                ("Couldn't find Transformer-API: javax.xml.transform"
                 + " You need java 1.4 or higher. For java-versions below 1.4 please download"
                 + " the saxon.jar from rapla.sourceforge.net"
                 + " and put it into the lib directory.");
        }
    }

    public static SAXTransformerFactory getTransformerFactory() throws SAXException{
        try {
            return (SAXTransformerFactory) TransformerFactory.newInstance();
        } catch (TransformerFactoryConfigurationError ex) {
            System.err.println("Couldn't initialize default SAXTransformerFactory. Now trying '"
                        + XSLT_TRANSFORMER_FACTORY_IMPL + "'");
            try {
                getClassLoader().loadClass("javax.xml.parsers.SAXParserFactory");
                return (SAXTransformerFactory) getClassLoader().loadClass(XSLT_TRANSFORMER_FACTORY_IMPL).newInstance();
            } catch (ClassNotFoundException ex2) {
                throw new SAXException("Couldn't find '" + XSLT_TRANSFORMER_FACTORY_IMPL
                                       +"' on classpath. Requiered library is missing!");
            } catch (ClassCastException ex2) {
                throw new SAXException("Wrong class: " + XSLT_TRANSFORMER_FACTORY_IMPL
                                       + " doesnt implement SAXTransformerFactory");
            } catch (Exception ex2) {
                throw new SAXException("Couldn't load SAXTransformerFactory '"
                                       + XSLT_TRANSFORMER_FACTORY_IMPL +"' : " + ex2.getMessage());
            }
        }
    }

}

⌨️ 快捷键说明

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