Ukazkovy parser SAX ktery by kopiroval
Lukáš Zapletal
lukas na zapletalovi.com
Pátek Leden 30 14:36:32 CET 2009
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 <makub na ics.muni.cz> 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: makub na ics.muni.cz
> Masaryk University http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
> --------------------------------------------------------------
>
>
--
Lukas Zapletal
http://lukas.zapletalovi.com
Další informace o konferenci Konference