Re: include text file

Subject: Re: include text file
From: Eric van der Vlist <vdv@xxxxxxxxxxxx>
Date: Thu, 16 Nov 2000 09:36:03 +0100
Eric van der Vlist wrote:
> 
> Ext.ZXSPRCR2A015@xxxxxxxxxx wrote:
> >
> >   How to include a text file content (without XML header
> > and any tag) with XSLT processor (I use Xalan Java 1).
> 
> I am using such a simple parser (~ 20 java lines) that I can post if it
> helps.

Here it is (works with XT).

Example of usage:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
	xmlns:txt="http://www.jclark.com/xt/java/TextDocument"; >
.../...
<xsl:copy-of select="txt:document(string(@href))"/>

---------------Java file----------------------- 
import com.jclark.xsl.sax.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.xml.sax.*;
import java.io.*;

public class TextDocument implements ResultTreeFragment{

	private String filename;
	
	public TextDocument (String filename){
		this.filename= filename;
		
	}

	public static ResultTreeFragment document(String filename){
		ResultTreeFragment rtf = new TextDocument(filename);
		return rtf;
	}

	public void emit(DocumentHandler h) throws SAXException {
		String buf;
		try {
			AttributeListImpl attributes = new AttributeListImpl();
			BufferedReader br = new BufferedReader(new FileReader(filename));
			h.startElement("document", attributes);
			while ((buf = br.readLine()) != null) {
				h.startElement("line", attributes);
				if (buf.length()>0){
					char[] ch = new char[buf.length()];
					buf.getChars(0, buf.length(), ch, 0);
					h.characters(ch, 0, buf.length());
				}
				h.endElement("line");
			}
			br.close();
			h.endElement("document");
		} catch (Exception e) {
			e.printStackTrace();
			throw new SAXException(e.toString());
		}

	}

}
 

-- 
------------------------------------------------------------------------
Eric van der Vlist       Dyomedea                    http://dyomedea.com
http://xmlfr.org         http://4xt.org              http://ducotede.com
------------------------------------------------------------------------


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread