Re: R: Strings to SAX events
Thanks for your suggestion Ludovic, it works really well!! Damian. Ludovic de Beaurepaire wrote: Hi Damian, Perhaps it helps : If you are in XSP, the following tags resolve it without java code : ?xml version=1.0 encoding=ISO-8859-1? xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:util=http://apache.org/xsp/util/2.0; ... util:include-expr util:exprxsp:expr yourXMLString /xsp:expr/util:expr /util:include-expr ... Regards, Ludovic - Original Message - From: Damian Chojna [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, November 14, 2002 6:02 PM Subject: Re: R: Strings to SAX events Hi Reinhard, thanks for the last post. I also need to add a string as XML elements into an XSP generator and I used your suggestion (below). It seems to work well, but I have two questions: 1) I've noticed that the API states that the Parser is deprecated. I'm currently using 2.0.3, if I choose to use this method will it effect me being able to move to a newer version of cocoon at some time in the future? 2) When I generate my XML elements it seems that the parser is including the ?xml version=1.0 encoding=UTF-8? header. Is there a way to get the parser not to include it, as it is causing me problems? Thanks in advance! Damian. [EMAIL PROTECTED] wrote: Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] . - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: R: Strings to SAX events
Hi Reinhard, thanks for the last post. I also need to add a string as XML elements into an XSP generator and I used your suggestion (below). It seems to work well, but I have two questions: 1) I've noticed that the API states that the Parser is deprecated. I'm currently using 2.0.3, if I choose to use this method will it effect me being able to move to a newer version of cocoon at some time in the future? 2) When I generate my XML elements it seems that the parser is including the ?xml version=1.0 encoding=UTF-8? header. Is there a way to get the parser not to include it, as it is causing me problems? Thanks in advance! Damian. [EMAIL PROTECTED] wrote: Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: R: Strings to SAX events
Hi Damian, Perhaps it helps : If you are in XSP, the following tags resolve it without java code : ?xml version=1.0 encoding=ISO-8859-1? xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:util=http://apache.org/xsp/util/2.0; ... util:include-expr util:exprxsp:expr yourXMLString /xsp:expr/util:expr /util:include-expr ... Regards, Ludovic - Original Message - From: Damian Chojna [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, November 14, 2002 6:02 PM Subject: Re: R: Strings to SAX events Hi Reinhard, thanks for the last post. I also need to add a string as XML elements into an XSP generator and I used your suggestion (below). It seems to work well, but I have two questions: 1) I've noticed that the API states that the Parser is deprecated. I'm currently using 2.0.3, if I choose to use this method will it effect me being able to move to a newer version of cocoon at some time in the future? 2) When I generate my XML elements it seems that the parser is including the ?xml version=1.0 encoding=UTF-8? header. Is there a way to get the parser not to include it, as it is causing me problems? Thanks in advance! Damian. [EMAIL PROTECTED] wrote: Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: R: Strings to SAX events
This should really be a code snippet... Hi Damian, Perhaps it helps : If you are in XSP, the following tags resolve it without java code : ?xml version=1.0 encoding=ISO-8859-1? xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:util=http://apache.org/xsp/util/2.0; ... util:include-expr util:exprxsp:expr yourXMLString /xsp:expr/util:expr /util:include-expr ... Regards, Ludovic - Original Message - From: Damian Chojna [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, November 14, 2002 6:02 PM Subject: Re: R: Strings to SAX events Hi Reinhard, thanks for the last post. I also need to add a string as XML elements into an XSP generator and I used your suggestion (below). It seems to work well, but I have two questions: 1) I've noticed that the API states that the Parser is deprecated. I'm currently using 2.0.3, if I choose to use this method will it effect me being able to move to a newer version of cocoon at some time in the future? 2) When I generate my XML elements it seems that the parser is including the ?xml version=1.0 encoding=UTF-8? header. Is there a way to get the parser not to include it, as it is causing me problems? Thanks in advance! Damian. [EMAIL PROTECTED] wrote: Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- The heights of genius are only measurable by the depths of stupidity. - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: R: Strings to SAX events
-Original Message- From: Damian Chojna [mailto:d.chojna;adv.pl] Sent: Thursday, November 14, 2002 6:02 PM To: [EMAIL PROTECTED] Subject: Re: R: Strings to SAX events Hi Reinhard, thanks for the last post. I also need to add a string as XML elements into an XSP generator and I used your suggestion (below). It seems to work well, but I have two questions: 1) I've noticed that the API states that the Parser is deprecated. I'm currently using 2.0.3, if I choose to use this method will it effect me being able to move to a newer version of cocoon at some time in the future? Yep, you are right. I developed the component long time ago ... Please try org.apache.avalon.excalibur.xml.JaxpParser. 2) When I generate my XML elements it seems that the parser is including the ?xml version=1.0 encoding=UTF-8? header. Is there a way to get the parser not to include it, as it is causing me problems? Currently there is a problem with the encoding (always UTF-8 encoding is used) when you use Xalan. As far as I know those problem don't arise if you use Saxon. I don't know how you can remove the processing instruction. Regards, Reinhard Thanks in advance! Damian. [EMAIL PROTECTED] wrote: Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
R: R: Strings to SAX events
Steven, first: we'd like to thank you for your help :) Second: we've tried to use your suggestion... to no avail :( Here's the failing code: InputSource source= new InputSource(new StringReader(svgs)); XercesParser respParser; respParser= new XercesParser(); ChartXMLConsumer cons= new ChartXMLConsumer((AbstractSAXTransformer)(this)); respParser.setConsumer(cons); respParser.parse(source); It fails at the last statement with the dreaded null pointer exc.. The parser we're using is an org.apache.cocoon.components.parser.XercesParser, while the ChartXMLConsumer is subclass of an org.apache.cocoon.xml.AbstractXMLConsumer, with suitable methods added. We think your idea is to trap some SAX events in the AbstractXMLConsumer subclass, and pass them along to the Transfomer class; while some SAX events, like StartDocument/EndDocument aren't passed along. Well, we've done that, but it fails before even passing a single SAX event to the transformer... any guess ? Best regards, P.S. Here's the AbstractXMLConsumer subclass code: public class ChartXMLConsumer extends AbstractXMLConsumer { AbstractSAXTransformer trasf; ChartXMLConsumer(AbstractSAXTransformer trasfIn) { this.trasf= trasfIn; } public void processingInstruction(String target, String data) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED AND IGNORED PI); } public void startDTD(String name, String publicId, String systemId) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void endDTD() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void startDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START OF DOCUMENT V.02); } public void endDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED END OF DOCUMENT); } public void startElement(String uri, String name, String raw, Attributes attributes) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED STARTELEMENT); trasf.startElement(uri, name, raw, attributes); } public void endElement(String uri, String name, String raw) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED ENDELEMENT); trasf.endElement(uri, name, raw); } } Luca Morandini [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Steven Cummings [mailto:cummingscs;netscape.net] Inviato: venerdì 8 novembre 2002 17.43 A: [EMAIL PROTECTED] Oggetto: RE: R: Strings to SAX events Luca, I'm doing something very similar to implement a SOAPTransformer. What I've done is implement an XMLConsumer so that it passes ALL events that it recieves directly to the transformer's super-class (super.startElement, super.endElement... etc.) Because you've probably already started an output SAX stream that you want to embed the content of the string in, you simply neglect to pass along the startDocument and endDocument events. This is very important. Otherwise, the solution is pretty simple. Hope this helps. /S Luca Morandini [EMAIL PROTECTED] wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your
AW: R: Strings to SAX events
Hallo Luca, this is a bit of a hack, but it seems to work. HTH Judith TestTransformer.java -Ursprüngliche Nachricht- Von: Luca Morandini [SMTP:[EMAIL PROTECTED]] Gesendet am: Montag, 11. November 2002 10:39 An: [EMAIL PROTECTED] Betreff: R: R: Strings to SAX events Steven, first: we'd like to thank you for your help :) Second: we've tried to use your suggestion... to no avail :( Here's the failing code: InputSource source= new InputSource(new StringReader(svgs)); XercesParser respParser; respParser= new XercesParser(); ChartXMLConsumer cons= new ChartXMLConsumer((AbstractSAXTransformer)(this)); respParser.setConsumer(cons); respParser.parse(source); It fails at the last statement with the dreaded null pointer exc.. The parser we're using is an org.apache.cocoon.components.parser.XercesParser, while the ChartXMLConsumer is subclass of an org.apache.cocoon.xml.AbstractXMLConsumer, with suitable methods added. We think your idea is to trap some SAX events in the AbstractXMLConsumer subclass, and pass them along to the Transfomer class; while some SAX events, like StartDocument/EndDocument aren't passed along. Well, we've done that, but it fails before even passing a single SAX event to the transformer... any guess ? Best regards, P.S. Here's the AbstractXMLConsumer subclass code: public class ChartXMLConsumer extends AbstractXMLConsumer { AbstractSAXTransformer trasf; ChartXMLConsumer(AbstractSAXTransformer trasfIn) { this.trasf= trasfIn; } public void processingInstruction(String target, String data) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED AND IGNORED PI); } public void startDTD(String name, String publicId, String systemId) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void endDTD() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void startDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START OF DOCUMENT V.02); } public void endDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED END OF DOCUMENT); } public void startElement(String uri, String name, String raw, Attributes attributes) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED STARTELEMENT); trasf.startElement(uri, name, raw, attributes); } public void endElement(String uri, String name, String raw) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED ENDELEMENT); trasf.endElement(uri, name, raw); } } Luca Morandini [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Steven Cummings [mailto:cummingscs;netscape.net] Inviato: venerdì 8 novembre 2002 17.43 A: [EMAIL PROTECTED] Oggetto: RE: R: Strings to SAX events Luca, I'm doing something very similar to implement a SOAPTransformer. What I've done is implement an XMLConsumer so that it passes ALL events that it recieves directly to the transformer's super-class (super.startElement, super.endElement... etc.) Because you've probably already started an output SAX stream that you want to embed the content of the string in, you simply neglect to pass along the startDocument and endDocument events. This is very important. Otherwise, the solution is pretty simple. Hope this helps. /S Luca Morandini [EMAIL PROTECTED] wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas
R: R: Strings to SAX events
Judith, it seems the problem has been solved by filtering out some characters (using the characters() method) from the input file and deleting both XML header and DOCTYPE from the string containing the SVG. I know this solution is weirder than the original problem... but that's a fact :( Anyway, thanks for the code you've provided us :) Best regards, Luca Morandini [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Andres, Judith [mailto:Judith.Andres;rauser-ag.com] Inviato: lunedì 11 novembre 2002 11.59 A: [EMAIL PROTECTED] Oggetto: AW: R: Strings to SAX events Hallo Luca, this is a bit of a hack, but it seems to work. HTH Judith TestTransformer.java -Ursprüngliche Nachricht- Von:Luca Morandini [SMTP:[EMAIL PROTECTED]] Gesendet am:Montag, 11. November 2002 10:39 An: [EMAIL PROTECTED] Betreff:R: R: Strings to SAX events Steven, first: we'd like to thank you for your help :) Second: we've tried to use your suggestion... to no avail :( Here's the failing code: InputSource source= new InputSource(new StringReader(svgs)); XercesParser respParser; respParser= new XercesParser(); ChartXMLConsumer cons= new ChartXMLConsumer((AbstractSAXTransformer)(this)); respParser.setConsumer(cons); respParser.parse(source); It fails at the last statement with the dreaded null pointer exc.. The parser we're using is an org.apache.cocoon.components.parser.XercesParser, while the ChartXMLConsumer is subclass of an org.apache.cocoon.xml.AbstractXMLConsumer, with suitable methods added. We think your idea is to trap some SAX events in the AbstractXMLConsumer subclass, and pass them along to the Transfomer class; while some SAX events, like StartDocument/EndDocument aren't passed along. Well, we've done that, but it fails before even passing a single SAX event to the transformer... any guess ? Best regards, P.S. Here's the AbstractXMLConsumer subclass code: public class ChartXMLConsumer extends AbstractXMLConsumer { AbstractSAXTransformer trasf; ChartXMLConsumer(AbstractSAXTransformer trasfIn) { this.trasf= trasfIn; } public void processingInstruction(String target, String data) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED AND IGNORED PI); } public void startDTD(String name, String publicId, String systemId) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void endDTD() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void startDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START OF DOCUMENT V.02); } public void endDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED END OF DOCUMENT); } public void startElement(String uri, String name, String raw, Attributes attributes) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED STARTELEMENT); trasf.startElement(uri, name, raw, attributes); } public void endElement(String uri, String name, String raw) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED ENDELEMENT); trasf.endElement(uri, name, raw); } } Luca Morandini [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Steven Cummings [mailto:cummingscs;netscape.net] Inviato: venerdì 8 novembre 2002 17.43 A: [EMAIL PROTECTED] Oggetto: RE: R: Strings to SAX events Luca, I'm doing something very similar to implement a SOAPTransformer. What I've done is implement an XMLConsumer so that it passes ALL events that it recieves directly to the transformer's super-class (super.startElement, super.endElement... etc.) Because you've probably already started an output SAX stream that you want to embed the content of the string in, you simply neglect to pass along the startDocument and endDocument events. This is very important. Otherwise, the solution is pretty simple. Hope this helps. /S Luca Morandini [EMAIL PROTECTED] wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up
RE: R: R: Strings to SAX events
ChartXMLConsumer((AbstractSAXTransformer)(this)); respParser.setConsumer(cons); respParser.parse(source); It fails at the last statement with the dreaded null pointer exc.. The parser we're using is an org.apache.cocoon.components.parser.XercesParser, while the ChartXMLConsumer is subclass of an org.apache.cocoon.xml.AbstractXMLConsumer, with suitable methods added. We think your idea is to trap some SAX events in the AbstractXMLConsumer subclass, and pass them along to the Transfomer class; while some SAX events, like StartDocument/EndDocument aren't passed along. Well, we've done that, but it fails before even passing a single SAX event to the transformer... any guess ? Best regards, P.S. Here's the AbstractXMLConsumer subclass code: public class ChartXMLConsumer extends AbstractXMLConsumer { AbstractSAXTransformer trasf; ChartXMLConsumer(AbstractSAXTransformer trasfIn) { this.trasf= trasfIn; } public void processingInstruction(String target, String data) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED AND IGNORED PI); } public void startDTD(String name, String publicId, String systemId) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void endDTD() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START DTD); } public void startDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED START OF DOCUMENT V.02); } public void endDocument() throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED END OF DOCUMENT); } public void startElement(String uri, String name, String raw, Attributes attributes) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED STARTELEMENT); trasf.startElement(uri, name, raw, attributes); } public void endElement(String uri, String name, String raw) throws SAXException { getLogger().debug([CHART XML CONSUMER] RECEIVED ENDELEMENT); trasf.endElement(uri, name, raw); } } Luca Morandini [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Steven Cummings [mailto:cummingscs;netscape.net] Inviato: venerdì 8 novembre 2002 17.43 A: [EMAIL PROTECTED] Oggetto: RE: R: Strings to SAX events Luca, I'm doing something very similar to implement a SOAPTransformer. What I've done is implement an XMLConsumer so that it passes ALL events that it recieves directly to the transformer's super-class (super.startElement, super.endElement... etc.) Because you've probably already started an output SAX stream that you want to embed the content of the string in, you simply neglect to pass along the startDocument and endDocument events. This is very important. Otherwise, the solution is pretty simple. Hope this helps. /S Luca Morandini [EMAIL PROTECTED] wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED
Re: R: Strings to SAX events
Luca, In a generator I use flowing code within the generate()-Method. Maybe this helps: parser = (Parser)this.manager.lookup(Parser.ROLE); parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(new StringReader(sb.toString(; Regards, Reinhard Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 10:55 AM Subject: Strings to SAX events Folks, We're in the process of writing a Transformer, which, of course, outputs SAX events... but, in the midst of this stream , we need to insert an XML element stored in a string. To do this we're groping in the dark trying something like this: JaxpParser respParser = new JaxpParser(); respParser.parse( new InputSource(new StringReader(str)), new EmbeddedXMLPipe(contentHandler)); Which fails giving this: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.ClassCastException ... Caused by: java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) ... 44 more java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.proces s(CachingS treamPipeline.java:399) The classes we use are: org.apache.avalon.excalibur.xml.JaxpParser; org.xml.sax.InputSource; java.io.StringReader; org.apache.cocoon.xml.EmbeddedXMLPipe; And the environment is: Solaris 5.8 JDK 1.4.1_01 Tomcat 4.1.12-LE-jdk14 Cocoon 2.0.3 May someone please help us ? Thanks in advance, Piero De Nicola Luca Morandini We are protected from the virus by Norton Antivirus Corporate Edition - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] We are protected from the virus by Norton Antivirus Corporate Edition - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- +++ GMX - Mail, Messaging more http://www.gmx.net +++ NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen! - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
R: Strings to SAX events
Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 10:55 AM Subject: Strings to SAX events Folks, We're in the process of writing a Transformer, which, of course, outputs SAX events... but, in the midst of this stream , we need to insert an XML element stored in a string. To do this we're groping in the dark trying something like this: JaxpParser respParser = new JaxpParser(); respParser.parse( new InputSource(new StringReader(str)), new EmbeddedXMLPipe(contentHandler)); Which fails giving this: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.ClassCastException ... Caused by: java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) ... 44 more java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.proces s(CachingS treamPipeline.java:399) The classes we use are: org.apache.avalon.excalibur.xml.JaxpParser; org.xml.sax.InputSource; java.io.StringReader; org.apache.cocoon.xml.EmbeddedXMLPipe; And the environment is: Solaris 5.8 JDK 1.4.1_01 Tomcat 4.1.12-LE-jdk14 Cocoon 2.0.3 May someone please help us ? Thanks in advance, Piero De Nicola Luca Morandini We are protected from the virus by Norton Antivirus Corporate Edition - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] We are protected from the virus by Norton Antivirus Corporate Edition - Please check
Re: R: Strings to SAX events
Hi Luca, Have you seen the WingsTransformer in 2.1 scratchpad ? It converts xcml (over at Krysalis) chart markup to svg which you can then give to svg2png/etc. I'm using it at the moment and it works quite well for pie, line and bar charts. Perhaps that might be of use, as it works nicely with Cocoon ? Cheers, Marcus On Fri, Nov 08, 2002 at 11:33:03AM +0100, Luca Morandini wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 10:55 AM Subject: Strings to SAX events Folks, We're in the process of writing a Transformer, which, of course, outputs SAX events... but, in the midst of this stream , we need to insert an XML element stored in a string. To do this we're groping in the dark trying something like this: JaxpParser respParser = new JaxpParser(); respParser.parse( new InputSource(new StringReader(str)), new EmbeddedXMLPipe(contentHandler)); Which fails giving this: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.ClassCastException ... Caused by: java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) ... 44 more java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.proces s(CachingS treamPipeline.java:399) The classes we use are: org.apache.avalon.excalibur.xml.JaxpParser; org.xml.sax.InputSource; java.io.StringReader; org.apache.cocoon.xml.EmbeddedXMLPipe; And the environment is: Solaris 5.8 JDK 1.4.1_01 Tomcat 4.1.12-LE-jdk14 Cocoon 2.0.3 May someone please help us ? Thanks in advance, Piero De Nicola Luca Morandini We are protected from the virus by Norton Antivirus Corporate Edition - Please check that your question has not already been answered in the FAQ before posting
R: R: Strings to SAX events
Marcus, thanks for you help, but our implementation uses a SAX Transformer. We evaluated Wings and decided to go our own way: I hate re-inventing the wheel, but this time I deemed it necessary. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Marcus Crafter [mailto:crafterm;fztig938.bank.dresdner.net] Inviato: venerdì 8 novembre 2002 13.00 A: [EMAIL PROTECTED] Oggetto: Re: R: Strings to SAX events Hi Luca, Have you seen the WingsTransformer in 2.1 scratchpad ? It converts xcml (over at Krysalis) chart markup to svg which you can then give to svg2png/etc. I'm using it at the moment and it works quite well for pie, line and bar charts. Perhaps that might be of use, as it works nicely with Cocoon ? Cheers, Marcus On Fri, Nov 08, 2002 at 11:33:03AM +0100, Luca Morandini wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 10:55 AM Subject: Strings to SAX events Folks, We're in the process of writing a Transformer, which, of course, outputs SAX events... but, in the midst of this stream , we need to insert an XML element stored in a string. To do this we're groping in the dark trying something like this: JaxpParser respParser = new JaxpParser(); respParser.parse( new InputSource(new StringReader(str)), new EmbeddedXMLPipe(contentHandler)); Which fails giving this: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.ClassCastException ... Caused by: java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) ... 44 more java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.proces s(CachingS treamPipeline.java:399) The classes we use are: org.apache.avalon.excalibur.xml.JaxpParser; org.xml.sax.InputSource; java.io.StringReader
RE: R: Strings to SAX events
Luca, I'm doing something very similar to implement a SOAPTransformer. What I've done is implement an XMLConsumer so that it passes ALL events that it recieves directly to the transformer's super-class (super.startElement, super.endElement... etc.) Because you've probably already started an output SAX stream that you want to embed the content of the string in, you simply neglect to pass along the startDocument and endDocument events. This is very important. Otherwise, the solution is pretty simple. Hope this helps. /S Luca Morandini [EMAIL PROTECTED] wrote: Ludovic, we're writing a Transformer to produce SVG (and JPEG/PNG optionally) charts. The idea is having the chart description and associated data in XML as input, transform them, ending up with a nice SVG to be serialized. We're using a charting library which doesn't produce a SAX stream, but outputs the SVG element as a string, hence, the need to insert this XML elements in the output SAX stream. I hope this clears the matter :) Luca Morandini Istituto Poligrafico e Zecca dello Stato [EMAIL PROTECTED] [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.26 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Luca Sorry if it is NOK, but i didn't understand why you want to add XML datas in the transformer instead of in your pipeline's generator ? Ludovic - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 11:11 AM Subject: R: Strings to SAX events Ludovic, thanks for your kind answer, but we are not in an XSP page (we're writing a Transformer instead), hence, your suggestion is not truly useful to us. Best regards, Luca Morandini [EMAIL PROTECTED] -Messaggio originale- Da: Ludovic de Beaurepaire [mailto:ludovic.debeaurepaire;axonie.com] Inviato: venerdì 8 novembre 2002 11.02 A: [EMAIL PROTECTED] Oggetto: Re: Strings to SAX events Try in a XSP the following, data is your xml string : util:include-expr util:exprxsp:expr data /xsp:expr/util:expr /util:include-expr - Original Message - From: Luca Morandini [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, November 08, 2002 10:55 AM Subject: Strings to SAX events Folks, We're in the process of writing a Transformer, which, of course, outputs SAX events... but, in the midst of this stream , we need to insert an XML element stored in a string. To do this we're groping in the dark trying something like this: JaxpParser respParser = new JaxpParser(); respParser.parse( new InputSource(new StringReader(str)), new EmbeddedXMLPipe(contentHandler)); Which fails giving this: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: java.lang.ClassCastException ... Caused by: java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) ... 44 more java.lang.ClassCastException at com.lucamorandini.charts.ChartTransformer.endElement(ChartTransfor mer.java:6 55) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XM LByteStrea mInterpreter.java:129) at org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserial ize(XMLByt eStreamInterpreter.java:102) at org.apache.cocoon.components.pipeline.CachingEventPipeline.process (CachingEventPipeline.java:219) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.proces s(CachingS treamPipeline.java:399) The classes we use are: org.apache.avalon.excalibur.xml.JaxpParser; org.xml.sax.InputSource; java.io.StringReader; org.apache.cocoon.xml.EmbeddedXMLPipe; And the environment is: Solaris 5.8 JDK 1.4.1_01 Tomcat 4.1.12-LE-jdk14 Cocoon 2.0.3 May someone please help us ? Thanks in advance, Piero De Nicola Luca Morandini We are protected from the virus by Norton Antivirus Corporate Edition - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL