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

📄 stylemanager.java

📁 Novocode的 SWT 控件框架 丰富了MDI功能
💻 JAVA
字号:
/*******************************************************************************
 * Copyright (c) 2004 Stefan Zeiger and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.novocode.com/legal/epl-v10.html
 * 
 * Contributors:
 *     Stefan Zeiger (szeiger@novocode.com) - initial API and implementation
 *******************************************************************************/

package com.novocode.naf.resource;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.Node;

import com.novocode.naf.app.NAFException;


/**
 * Manages XSLT transformations.
 *
 * @author Stefan Zeiger (szeiger@novocode.com)
 * @since Oct 27, 2004
 * @version $Id: StyleManager.java,v 1.2 2004/11/02 18:35:36 szeiger Exp $
 */

public final class StyleManager
{
  private static final TransformerFactory tFactory = TransformerFactory.newInstance();


  public StyleManager()
  {
  }


  public Transformer createTransformer(URL url) throws NAFException
  {
    InputStream in = null;
    try
    {
      in = url.openStream();
      Transformer t = tFactory.newTransformer(new StreamSource(in));
      //t.setOutputProperty(OutputKeys.INDENT, "yes");
      //t.setOutputProperty(OutputKeys.METHOD, "xml");
      return t;
    }
    catch(IOException ex)
    {
      throw new NAFException("Error loading style sheet URL \""+url+"\"", ex);
    }
    catch(TransformerConfigurationException ex)
    {
      throw new NAFException("Error configuring XML transformer", ex);
    }
    finally
    {
      if(in != null) try { in.close(); } catch(IOException ignored) {}
    }
  }


  public Node transform(Transformer t, Node n) throws NAFException
  {
    DOMSource s = new DOMSource(n);
    DOMResult r = new DOMResult();
    try
    {
      t.transform(s, r);
      return r.getNode();
    }
    catch(TransformerException ex)
    {
      throw new NAFException("Error performing XSLT transformation", ex);
    }
  }
}

⌨️ 快捷键说明

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