This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: include text file
- To: xsl-list at mulberrytech dot com
- Subject: Re: include text file
- From: Eric van der Vlist <vdv at dyomedea dot com>
- Date: Thu, 16 Nov 2000 09:36:03 +0100
- References: <D177IST33MWQ*@MHS> <3A12C7C9.F22479D4@dyomedea.com>
- Reply-To: xsl-list at mulberrytech dot com
Eric van der Vlist wrote:
>
> Ext.ZXSPRCR2A015@tls.mms.fr 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