Subject: [xsl] Troubles with SAX From: Miroslav Šimko <miroslav.simko@xxxxxxxxxx> Date: Fri, 19 Mar 2004 08:59:10 +0100 |
Hello, I have troubles using SAX transform. When transforming document without SAX, everything works fine. But when using SAX, I get document without tags. I dont know, where is the problem. Thanks for any help. Miro ---------------------------------------------------------------------------- ------------------ first code //without SAX, this works fine TransformerFactory tFactory = TransformerFactory.newInstance(); transformer = tFactory.newTransformer(new StreamSource("article.xsl")); transformer.transform(new StreamSource("article.xml"), new StreamResult(new FileOutputStream("article.html"))); ---------------------------------------------------------------------------- ------------------ second code //using SAX, get troubles File stylesheet = new File("article.xsl"); File datafile = new File("article.xml"); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(datafile)); InputSource input = new InputSource(bis); SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser parser = spf.newSAXParser(); XMLReader reader = parser.getXMLReader(); SAXTransformerFactory stf = (SAXTransformerFactory)TransformerFactory.newInstance(); XMLFilter filter = stf.newXMLFilter(new StreamSource(stylesheet)); filter.setParent(reader); StreamResult result = new StreamResult(new FileOutputStream("article.html")); Transformer transformer = stf.newTransformer(); SAXSource transformSource = new SAXSource(filter, input); transformer.transform(transformSource, result); ---------------------------------------------------------------------------- ------------------ article.xml <?xml version="1.0"?> <Article> <ArtHeader> <Title>Title of my (Docbook) article</Title> </ArtHeader> <Sect1> <Title>Title of Section 1.</Title> <Para>This is a paragraph.</Para> </Sect1> </Article> ---------------------------------------------------------------------------- ------------------- article.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml"/> <xsl:template match="Article"> <ARTICLE> <xsl:apply-templates/> </ARTICLE> </xsl:template> <xsl:template match="/Article/ArtHeader/Title"> <TITLE> <xsl:apply-templates/> </TITLE> </xsl:template> <xsl:template match="//Sect1"> <SECT><xsl:apply-templates/></SECT> </xsl:template> <xsl:template match="Para"> <PARA><xsl:apply-templates/></PARA> </xsl:template> </xsl:stylesheet> ---------------------------------------------------------------------------- --------------------------- get when using first code( this is what I want get) <?xml version="1.0" encoding="UTF-8"?> <ARTICLE> <TITLE>Title of my (Docbook) article</TITLE> <SECT> Title of Section 1. <PARA>This is a paragraph.</PARA> </SECT> </ARTICLE> ---------------------------------------------------------------------------- --------------------------- get when using second code( no tags in output) <?xml version="1.0" encoding="UTF-8"?> Title of my (Docbook) article Title of Section 1. This is a paragraph. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Efficient recursive group, Andreas L. Delmelle | Thread | RE: [xsl] Troubles with SAX, Michael Kay |
RE: [xsl] Efficient recursive group, Andreas L. Delmelle | Date | RE: [xsl] Troubles with SAX, Michael Kay |
Month |