Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Custom SAX Parser

Custom SAX Parser

2003-05-13       - By Gordon Ross
Reply:     1     2  

Hi,

I'm trying to use a custom SAX parser with Xalan. I started by using
the code below to use the standard SAX parser, and this works great:

   javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
   Templates template = tFactory.newTemplates(new
StreamSource("servers.xslt"));

   javax.xml.transform.sax.TransformerHandler saxTransformHandler =
((SAXTransformerFactory)tFactory).newTransformerHandler(template);
   saxTransformHandler.setResult(new StreamResult(System.out));

   XMLReader reader =
org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
 reader.setContentHandler(saxTransformHandler);
   reader.parse("severlist.xml");

I then wanted to use a custom SAX parser (which actually generates SAX
events avoiding writting XML and then parsing that XML)

I set this up using this:

   javax.xml.transform.TransformerFactory tFactory =
javax.xml.transform.TransformerFactory.newInstance();
   Templates template = tFactory.newTemplates(new
StreamSource("servers.xslt"));

   javax.xml.transform.sax.TransformerHandler saxTransformHandler =
((SAXTransformerFactory)tFactory).newTransformerHandler(template);
   saxTransformHandler.setResult(new StreamResult(System.out));

   fakeXML(saxTransformHandler);

where fakeXML fires SAX events. A cut-down version of it is:

 public static void fakeXML(ContentHandler ch) throws SAXException
 {
   char charray[];
   String myString;

   ch.startDocument();
   ch.startElement("", "", "serverlist", EMPTY_ATTR);
   ch.startElement("","","serverTypes",EMPTY_ATTR);
   charray = (new String("Master")).toCharArray();
   myString = "Master";
   ch.characters(myString.toCharArray(),0, myString.length());
   ch.endElement("","","serverTypes");

   ch.startElement("","","server",EMPTY_ATTR);
     ch.startElement("","","name",EMPTY_ATTR);
       charray = (new String("ISIS32")).toCharArray();
       ch.characters(charray,0,charray.length);
     ch.endElement("","","serverTypes");
     ch.startElement("","","description",EMPTY_ATTR);
       charray = (new String("Some Junk")).toCharArray();
       ch.characters(charray,0, charray.length);
     ch.endElement("","","description");
     ch.startElement("","","state",EMPTY_ATTR);
       charray = (new String("Sleeping")).toCharArray();
       ch.characters(charray,0,charray.length);
     ch.endElement("","","description");
     ch.startElement("","","info",EMPTY_ATTR);
       charray = (new String("home/vol2/test")).toCharArray();
       ch.characters(charray,0,charray.length);
     ch.endElement("","","info");
   ch.endElement("","","server");

   ch.endElement("","","serverlist");
   ch.endDocument();
 }

This code "generates" the XML that worked with the first example.

However, when I try this, the output from Xalan doesn't have anything
from my generated SAX/XML.

Can anyone point me in the right direction ?

Thanks,

GTG


Gordon Ross,
Network Manager/Rheolwr Rhydwaith
Countryside Council for Wales/Cyngor Cefn Gwlad Cymru