On Thu, Sep 04, 2008 at 10:06:15AM +0200, Oto Buchta wrote:
> On Thu, Sep 04, 2008 at 09:19:46AM +0200, Tomas Zverina wrote:
> > Pokud mas tak silny odpor k tomu to psat vsechno "vicekrat" (i kdyz teda
> > myslim,  ze u toho renderovani vysledku uz je vsechno slozite napsano a
> > zbyva jen proiterovat nejake beany a vytisknout jejich obsah) mohl bys treba
> > generovat nejake svoje proprietarni univerzalni XML a pak na to pustit
> > nejakou transformaci, ktera to ohne na vysledny format.
> 
> Tak ted nechapu, jaky je rozdil mezi tim, kdyz vygeneruju vlastni proprietarni
> XML a to pak transformaci prevedu do potrebneho formatu, nebo kdyz vygeneruju
> proprietarni FreeMarkerovou Hash-like strukturu a tu pak pomoci
> FreeMarkerove sablony prevedu do potrebneho formatu.

FreeMaker nepouzivam, nicmene napr. v JSONu nejde jen o obaleni dat
do zavorek a uvozovek. Resi se ve FreeeMakeru nejak i napr. zakodovani 
specialnich znaku? 

Tj. treba \n, \t, atd ?

~Jakub
> 
> Jedine, co mne napada, je, ze se v prvnim pripade musim pachtit s Java XML
> API (a je jedno, zda DOM, SAX, JDOM, XOM ci neco jineho), abych dostal
> validni XML, a to pak pomoci transformace (bud XQuery nebo XSLT) nejdrive
> naparsovat, abych to mohl transformovat (no dobre, serialize-parse se da
> odstranit, ale i tak).
> 
> > Koles i LT maj 100% pravdu v tom, ze generovat takovyhle format
> > "System.out.println" neni nejlepsi napad ... Musis tu lenost prekonat, je to
> > pro dobrou vec :-)
> 
> FreeMarker neni generovani pomoci System.out.println. Doporucuji se podivat
> na http://freemarker.org . Uz obrazek na homepage jasne ukazuje zakladni
> princip. V Jave se predpripravi data ve FreeMarkerovem formatu a ten pak
> naparsuje sablonu a vlozi ona data na to spravne misto.
> 
> Navic pouziti sablony dava zadarmo moznost customizace dle potreb zakaznika,
> protoze jednim z vystupnich formatu muze byt i XHTML. 
> 
> A to se ani nebavim o dalsich pomerne netrivialnich protokolech jako treba
> SOAP, kdy mi tato RESTova servisa muze hrat roli RESTove XML ci SOAP servisy
> bez nutnosti navtrdo generovat WSDL. Misto toho lze pomerne jednoduse
> postavit wrapped-doclit SOAPMessage a korektne pres HTTP vratit ;-)
> 
> A tak bych mohl pokracovat...
> 
> A co treba zakaznicka plugovatelnost data generatoru - staci patricne
> rozsirit sablonu a voilŕ! Je to tam.
> 
> FreeMarker samozrejme neni vhodny pro binarni formaty nebo pro generovani
> velkeho qanta dat, kde zalezi na rychlosti. Google WebServices bych v nem
> nepsal. Pokud je vystup textovy format (coz vetsina na Internetu pouzivanych
> protokolu je) a pokud je format dat dopredu znam (a neni nijak dramaticky
> netrivialni), nemyslim, ze neni duvodu FreeMarker ci Velocity (ci JavaFaces)
> nepouzit. Souhlasim, ze napsat to v PHP tak, ze se mi mixuje kod data
> generujici a vlastni vystup, je to na pendrek (to je onen sout<TAB> pristup).
> 
> Samozrejme je vzdy mozne slozite struktury objektu zkonstruovat pomoci
> patricneho Java API (treba JSONu) a ty potom vratit jako SimpleScalar do
> sablony na patricnem miste. Vsichni si jiste dokazete predstavit, jak toto
> udelat pomoci specialniho JSP tagu, pricemz obdobny postup ovlada i 
> FreeMarker.
> 
> Navic co se tyka validity, neni nic jednodussiho nez napojit vystup
> behem testovani na validator patricneho formatu.
>  
> Pokud mi nekdo uvedete protipriklad, rad se necham poucit.
> 
> tapik
> 
> > 2008/9/3 Oto Buchta <[EMAIL PROTECTED]>
> > 
> > > On Wed, Sep 03, 2008 at 04:32:44PM +0200, Pavel Kolesnikov wrote:
> > > > Me prijde Freemarker na generovani machine readable dat tak trochu
> > > nevhodny,
> > > > kdy muzes pouzit jednoduche API z http://www.json.org/java/index.html
> > > >
> > > > Myslim, ze s touhle knihovnou by tvoje sestavovani JSONu bylo
> > > prehlednejsi
> > > > a jako side-effect bys mel po problemu, ktery popisujes.
> > > >
> > > > Pavel
> > >
> > > Ano, je to prehlednejsi a hezci. Ale.
> > > Ma to jeden hacek - jedna se o RESTovou aplikaci, kde si mohu rict,
> > > v jakem formatu chci patricny resource. A mam-li volby jako XML, RSS, 
> > > ATOM,
> > > JSON, CSV (v prvnim nastrelu,m co bude dal nevim), prijde mi sablonovac
> > > jako jediny schudny nastroj, nechci-li kazde implementovat zvlast...
> > >
> > > Nebo kdybys snad mel tip na nejakou REST-like knihovnu na generovani
> > > machine
> > > readable formatu, dej vedet. Ja ne, tak si ji musim napsat sam.
> > >
> > > tapik
> > >
> > > >
> > > > 2008/9/3 Oto Buchta <[EMAIL PROTECTED]>:
> > > > > Zdravim,
> > > > > chtel bych se zeptat, jeslti jste narazili na problem, kdyz na konci
> > > pole
> > > > > je pred hranatou zavorkou carka. Vim, ze dle syntaxe jde o chybu, ale
> > > > > generuju JSON ve FreeMarkeru a priznam se, ze se mi na tech padesati
> > > mistech
> > > > > nechce pocitat pocet prvku a za poslednim tu carku nedelat nebo
> > > zapomenout
> > > > > na foreach nebo dokonce davat null jako ukoncovak...
> > > > >
> > > > > Chtel bych si to dovolit, nebot v javadocu k org.json,JSONArray se
> > > pise:
> > > > >
> > > > >  The texts produced by the toString methods strictly conform to JSON
> > > syntax rules. The constructors are more forgiving in the texts they will
> > > accept:
> > > > >
> > > > >    * An extra , (comma) may appear just before the closing bracket.
> > > > >
> > > > > Dik,
> > > > >
> > > > > tapik
> > > > >
> > >
> > 
> > 
> > 
> > -- 
> > S pozdravem,
> > 
> > Tomas Zverina
> > 
> > Multimedia atelier s.r.o.
> > Na Dolinách 4
> > 147 00 Praha 4
> > IČO: 25127071
> > tel.: 241 433 120
> > e-mail: [EMAIL PROTECTED]
> > http://www.m-atelier.cz/
> > 
> > Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v
> > Praze, oddíl C, vložka 51961.

-- 
http://blogs.sun.com/japod

Odpovedet emailem