Ahoj Lukasi, pokud jde o to vzit SAX eventy a nasipat je zpet do souboru (streamu), pak se to da udelat pres XMLSerializer z Xercesu (http://xerces.apache.org/xerces-j/apiDocs/org/apache/xml/serialize/XMLSerializer.html)
nebo si muzes ten SAX udelat jako zdroj do transformeru, ktery nic netransformuje ... S pozdravem Jirka Lukáš Zapletal napsal(a): > Ano diky, jde mi prave o to, jestli uz nekdo neco podobneho nema (ten > handler jiz napsany). Prislo mi, ze SAX parser rekonstrujici puvodni > XML je pekny ukazkovy priklad, ze to treba visi nekde na internetu. > > Mno budu asi muset spustit IDEU :-) > > LZ > > Dne 30. leden 2009 14:30 Martin Kuba <[email protected]> napsal(a): >> Lukáš Zapletal napsal(a): >>> DD, >>> >>> shanim nejakou ukazku SAX parseru, ktery by provedl pouhou "kopii" XML >>> vstupu na vystup, ovsem vcetne vsech "vychytavek" jako jsou CDATA >>> sekce, komentare a jine veci. Aby byl na bystupu 100% stejny a validni >>> XML. >>> >>> Nema nekdo neco podobneho po ruce? Diky a pekny vikend :-) >> Výstupem SAX parseru není XML, ale sled volání metod handleru, >> takže tohle přímo existovat nemůže. Spíš chcete handler pro SAX, >> který se dozvídá o CDATA, komentářích a podobně. >> >> Nezkoušel jsem to, ale v JDK existuje LexicalHandler, viz >> http://java.sun.com/javase/6/docs/api/org/xml/sax/ext/LexicalHandler.html >> který se takovéto události dozvídá. >> >> Takže bych v tomto případě udělal třídu, která implementuje DefaultHandler2 >> http://java.sun.com/javase/6/docs/api/org/xml/sax/ext/DefaultHandler2.html >> který je shrnutím všech možných událostí včetně těch z LexicalHandleru, >> a v něm bych generoval XML na výstup. >> >> Nicméně tentýž znak může být zapsán více způsoby, např.: >> >> EURO € € € >> >> a mám pocit, že SAX parser to předá vždy stejným způsobem, takže získat 100% >> stejné >> XML na výstupu jako bylo na vstupu není možné. >> >> >> Makub >> -- >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> Supercomputing Center Brno Martin Kuba >> Institute of Computer Science email: [email protected] >> Masaryk University http://www.ics.muni.cz/~makub/ >> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 >> -------------------------------------------------------------- >> >> > > > -- Jiří Mareš (mailto:[email protected]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
