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

📄 text.java

📁 Java的面向对象数据库系统的源代码
💻 JAVA
字号:
// Text - Xalan extension element for inserting textpackage com.nwalsh.xalan;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.InputStream;import java.io.IOException;import java.io.FileNotFoundException;import java.net.URL;import java.net.MalformedURLException;import org.xml.sax.SAXException;import org.xml.sax.AttributeList;import org.xml.sax.ContentHandler;import org.w3c.dom.*;import org.apache.xerces.dom.*;import org.apache.xpath.objects.XObject;import org.apache.xpath.XPath;import org.apache.xpath.NodeSet;import org.apache.xalan.extensions.XSLProcessorContext;import org.apache.xalan.transformer.TransformerImpl;import org.apache.xalan.templates.StylesheetRoot;import org.apache.xalan.templates.ElemExtensionCall;import org.apache.xalan.templates.OutputProperties;import org.apache.xalan.res.XSLTErrorResources;import javax.xml.transform.stream.StreamResult;import javax.xml.transform.TransformerException;/** * <p>Xalan extension element for inserting text * * <p>$Id: Text.java,v 1.1 2001/04/02 13:03:45 nwalsh Exp $</p> * * <p>Copyright (C) 2001 Norman Walsh.</p> * * <p>This class provides a * <a href="http://xml.apache.org/xalan/">Xalan</a> * extension element for inserting text into a result tree.</p> * * <p><b>Change Log:</b></p> * <dl> * <dt>1.0</dt> * <dd><p>Initial release.</p></dd> * </dl> * * @author Norman Walsh * <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a> * * @version $Id: Text.java,v 1.1 2001/04/02 13:03:45 nwalsh Exp $ * */public class Text {  /**   * <p>Constructor for Text</p>   *   * <p>Does nothing.</p>   */  public Text() {  }  public NodeList insertfile(XSLProcessorContext context,			     ElemExtensionCall elem)    throws MalformedURLException,           FileNotFoundException,           IOException,	   TransformerException {    String href = getFilename(context, elem);    NodeSet textNodes = new NodeSet();    Document textDoc = DOMImplementationImpl.getDOMImplementation().createDocument(null, "tmpDoc", null);    URL fileURL = null;    try {      try {	fileURL = new URL(href);      } catch (MalformedURLException e1) {	try {	  fileURL = new URL("file:" + href);	} catch (MalformedURLException e2) {	  System.out.println("Cannot open " + href);	  return null;	}      }      InputStreamReader isr = new InputStreamReader(fileURL.openStream());      BufferedReader is = new BufferedReader(isr);      char chars[] = new char[4096];      int len = 0;      while ((len = is.read(chars)) > 0) {	String s = new String(chars, 0, len);	// Does it matter that this produces multiple, adjacent text	// nodes? I don't think so...	textNodes.addNode(textDoc.createTextNode(s));      }      is.close();    } catch (Exception e) {      System.out.println("Cannot read " + href);    }    return textNodes;  }  private String getFilename(XSLProcessorContext context, ElemExtensionCall elem)    throws java.net.MalformedURLException,	   java.io.FileNotFoundException,	   java.io.IOException,	   javax.xml.transform.TransformerException {    String fileName;    fileName = ((ElemExtensionCall)elem).getAttribute ("href",						       context.getContextNode(),						       context.getTransformer());    if(fileName == null) {      context.getTransformer().getMsgMgr().error(elem,						 "No 'href' on text, or not a filename");    }    return fileName;  }}

⌨️ 快捷键说明

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