Adatküldés kliens oldali formázással?
Kicsit csatlakoznék Gábor, szemantikus webbel kapcsolatos elképzeléseihez.
Valami hóttprimitív megoldást szeretnék arra, hogy küldök egy nagy halom adatot, leginkább gépi feldolgozást támogató formában a böngészőnek (természetesen megjelölve, hogy mi, micsoda benne), amiből aztán a böngésző készítene fogyasztható formátumú weblapot.
A kérdés az lenne, hogy ehhez milyen formát célszerű használni manapság?
Számomra ideális az lenne, ha JSON-t küldhetnék, meg mellé egy halom CSS-t, de úgy tudom, ez nem megy.
XML-ben lehetne, de az minden, csak nem egyszerű, ha kulturált formában akarom tartani az egészet.
Van erre valami bevált, kevés munkával megvalósítható eljárás?
Például van egy nagy halom IP cím, mindegyik mellett néhány számláló. Ez JSON-ben valahogy így néz ki:
'{"1.1.1.1": [1, 2, 3, 4], "1.2.3.4": [0, 12, 44, 55], "8.8.8.8": [123, 33, 55, 111]}'
Ebből szeretnék valami ilyet kapni a böngészőben:
Gondolom, ezt kliens oldalon macerás feldolgozni, ha nem akarok mélyebben elmerülni még a Javascriptben is.
Ha nem JSON-t, hanem XML-t küldök, azzal megoldható amit akarok (már nem emlékszem, pontosan mit kell használni, annak utána tudok nézni), csak az XML egy böszme állatfajta, akkor már az is egyszerűbb, ha a szerver rakja össze a HTML kódot.
Vagy eleve rossz úton járok?
ui: a Spamrobot vagy? captcha kicsit gázos, ha az előnézetet használom. Valami "reuse attack"-ra panaszkodik. :(
■ Valami hóttprimitív megoldást szeretnék arra, hogy küldök egy nagy halom adatot, leginkább gépi feldolgozást támogató formában a böngészőnek (természetesen megjelölve, hogy mi, micsoda benne), amiből aztán a böngésző készítene fogyasztható formátumú weblapot.
A kérdés az lenne, hogy ehhez milyen formát célszerű használni manapság?
Számomra ideális az lenne, ha JSON-t küldhetnék, meg mellé egy halom CSS-t, de úgy tudom, ez nem megy.
XML-ben lehetne, de az minden, csak nem egyszerű, ha kulturált formában akarom tartani az egészet.
Van erre valami bevált, kevés munkával megvalósítható eljárás?
Például van egy nagy halom IP cím, mindegyik mellett néhány számláló. Ez JSON-ben valahogy így néz ki:
'{"1.1.1.1": [1, 2, 3, 4], "1.2.3.4": [0, 12, 44, 55], "8.8.8.8": [123, 33, 55, 111]}'
Ebből szeretnék valami ilyet kapni a böngészőben:
1.1.1.1 1 2 3 4
1.2.3.4 0 12 44 55
8.8.8.8 123 33 55 111
1.2.3.4 0 12 44 55
8.8.8.8 123 33 55 111
Gondolom, ezt kliens oldalon macerás feldolgozni, ha nem akarok mélyebben elmerülni még a Javascriptben is.
Ha nem JSON-t, hanem XML-t küldök, azzal megoldható amit akarok (már nem emlékszem, pontosan mit kell használni, annak utána tudok nézni), csak az XML egy böszme állatfajta, akkor már az is egyszerűbb, ha a szerver rakja össze a HTML kódot.
Vagy eleve rossz úton járok?
ui: a Spamrobot vagy? captcha kicsit gázos, ha az előnézetet használom. Valami "reuse attack"-ra panaszkodik. :(
Hát a Gábor megoldása az XML
A másik megoldás, ha szabványos módon akarsz metaadatot hozzácsapni, hogy valamilyen RDF formátumot használsz. Ha JSON közelit akarsz, akkor a JSON-LD esetleg szóba jöhet, bár százszor bonyolultabb formátum, mint pl az n-triples és a feldolgozása sem annyira egyszerű, igaz nem neked kell megírni a parsert hozzá. Lehet embedded JSON-LD-t használni vagy AJAX-al ránthatod le a szervertől, a lényeg szempontjából tökmindegy, fel kell dolgoznod, aztán HTML-re kell alakítanod.
Esetleg egy harmadik opció, hogy HTML-t küldesz, aztán azt szórod meg RDF-el microdata-val. Pl a fenti lehetne egy table vagy egy list. Ugyanúgy gépileg feldolgozható ez is, és nagyjából le is lenne formázva CSS-el is. Az izgalmas mondjuk az lenne, ha a microdata-ra lehetne CSS-t írni, mert akkor nem kellene külön class-eket megadni neki. Nem tudom, hogy erre van e lehetőség, nem néztem utána még.
Ezen kívül még azt szokták, hogy elküldik a HTML-t, és beleágyaznak embedded JSON-LD-t, esetleg más fajta RDF-et. Szóval kétszer küldik el ugyanazt egyben. A JSON-LD lesz a gépileg feldolgozható, amit ért a kereső, a HTML meg amit megjelenítenek a felhasználónak. Ezt a legegyszerűbb megcsinálni, de kicsivel nagyobb sávszélességet használ. Ehhez nem is kell kliens oldali XSLT vagy JS formázás sem.
Köszi. Ahogy kiveszem a
Minden egyéb annyi plusz munkával jár, ami a dolgok jelenlegi állása szerint nem éri meg a befektetett energiát.
Igen, ha nem akarsz nagyon
XML
Az XML transzformációkat szinte minden elterjedt programozási környezet natívan támogatja.
A JSON ehhez képest minden szempontból visszalépés, a sémák, az XPATH vagy a névterek hiánya miatt igazából csak egyszerűbb adatok átküldéséhez elégséges. Ezeket persze lehet szimulálni szoftverből, de egyrészt nincs rájuk egységesen elfogadott és használt szabvány, másrészt jóval lassabb lesz, mint a natív megoldások.
Az RDF, microdata és microformats kliensoldali dolgok, azaz a kész HTML-t "díszítik fel" szemantikus adatokkal. Éppen ezért ezt XSLT-vel is el lehet végezni bármikor, ha szükség van rá.
Az RDF, microdata és
Ez így nagyon zavaros. Az RDF kötés azért kell, hogy fel tudja dolgozni a gépi kliens, nem a megjelenítés része. Kétlem, hogy a gépi kliens az XSLT kimenetét kezdené el feldolgozni, ha kaphat XML-t, de végülis has szivatod az API felhasználóit, akkor nyugodtan lehet így is csinálni...
Gepi feldolgozasra alkalmas
Nekem ugy tunik, hogy egy sima tablazatot szeretnel megjeleniteni a kliensen. Akkor csinald meg a tablazatot backenden, es el van intezve az egesz. Tok folosleges ide mindenfele transzformacio.
Nem teljesen. Szeretnék egy
Ha ez megvan, akkor valahogy meg is jeleníteném esetenként.
Weben erre két opciót látok:
1. Az adatok és a böngésző közé betolok egy programot, ami html-ben, formázottan küldi ki.
2. Elküldöm ezt az egészet a böngészőnek, az meg "kitalálja", hogy mit kezdjen vele. Erre lehet megfelelő akár az XML-XSLT (bár én úgy emlékeztem, hogy az xslt elavultnak lett kikiáltva évekkel ezelőtt), csak reméltem, hogy van egyszerűbb mód is.
Valakinek elo kell allitania
Végülis az volt a lényeg,
Hát ez pl jogosultság
Mindenre külön service...
Erre külön service-t + klienseket írni szerintem ágyúval a verébre, bár tény, hogy tisztább szárazabb érzés, csak sok munka.
Nagyjából inkább Bencével értek egyet: simán egy webalkalmazás, ezen belül is legyen egy réteg, ami előállítja az adatot, egy másik réteg, ahol különböző kimeneteket generál belőle.
Egyszerű MVC framework-kel megoldható, és nem kell kliensekkel se bajlódni.
Ja, azt is lehet, csak már
Nincs igazi feladat, csak
De még mindig a régi: van egy log szerverem, a rajta tárolt logokat akarnám majdan webről nézegetni.
Gondoltam, hogy a kigyűjtött adatokkal nem sokat szórakoznék szerver oldalon, a gépi feldolgozásra alkalmas formátum mindenképpen szükséges, kihagynám a html-lel való játékot szerveren, küldeném az egészet a browsernek úgy, ahogy előállt.
De úgy tűnik, sokkal egyszerűbb, ha mégis berakok egy kis konvertert, ami html-t csinál a nyers adatból, mert minden egyéb megoldás sokkal több munkával/tanulnivalóval jár.
Igy is úgy is HTML-re kell
Csak bíztam benne, hogy van
Semmi sem megy varázsütésre,
Attól függ... XML-t pl. meg
Más kérdés, hogy ez nem végfelhasználóknak való.
XML
alap.xml:
<xsl:template match="gyoker">
)<xsl:apply-templates />
-ig, ez azt csinálja, hogy az aktuális kontextuson belül fog minden gyerek elemet, és alkalmazza rájuk a sablonokat<gyoker>
, ennek a gyerek elemei:<fejlec>
és<bejegyzesek>
<fejlec>
-et feldolgozó sablont, ami kitesz egy<h1>
-et<bejegyzesek>
-et feldolgozó sablont, ami létrehoz egy táblázatot<bejegyzes>
elemen, és meghívjuk a "bejegyzes" nevű sablontEz már más, mint amiről én
Ismerem
XML vs JSON
Az eddigiek alapján úgy néz ki, hogy lesz egy valamekkora adattömböd, mint "nyers adat".
A html kiszolgálód nyugodtan foreach-elhet rajta és rajzolgathatja a html-t, nem kell se XML-lé, se JSON-né parsolni hozzá.
Aztán - ha a JSON-t választod - a gépi feldolgozó kiszolgálásához csak ráhívsz egy
json_encode
- ot és kész is vagy.Ha a nyers adatból minden feldolgozó számára előbb XML-t vagy JSON-t csinálsz, akkor mindenképp többször fogod átalakítani.
JSON csak azért jött a képbe,