Grzegorz Kossakowski schrieb: > Andreas Hartmann pisze: >> Hi Cocooners, >> >> I have a SAX stream containing fragments of escaped XML, e.g. >> >> <p> this is a <a href="...">link</a> </p> >> >> and want to convert the characters into SAX events: >> >> <p> this is a <a href="...">link</a> </p> >> >> I collect and assemble the character events, but I don't know how >> to parse the resulting string and generate SAX events without >> too much effort. >> >> I tried StringXMLizable and XMLByteStreamInterpreter, but ran >> into problems because contentHandler.startElement() is called >> or the prolog is not correct. >> >> What's the best way to do this? >> >> TIA for any pointers! > > I fear that your only option is to serialize XML, replace all escaped > characters and parse it again. Serializing and parsing is really easy > even inside transformer.
Thanks! Here's something that doesn't look nice, but basically seems to work: String string = "<unescape:wrap xmlns:unescape=\"http://apache.org/lenya/unescape/1.0\">" + this.buffer.toString() + "</unescape:wrap>"; StringXMLizable xml = new StringXMLizable(string); FragmentHandler fragmentHandler = new FragmentHandler(this.contentHandler); xml.toSAX(fragmentHandler); The FragmentHandler filters the startDocument() and endDocument() events and the start/end events for the <wrap> element. I'll do some more testing. -- Andreas -- Andreas Hartmann, CTO BeCompany GmbH http://www.becompany.ch --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]