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 &euro; &#8364; &#x20ac;
>>
>> 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

Odpovedet emailem