Kravaťácký "vynálezci" od XML právě vynalezli kompresi a Huffmanovo kódování. Blahopřejeme hoši!
Můžete se zase napakovat na konzultacích k vládním "projektům" a "informačním systémům" a lítat na EXI konference.
Nepříjdu si jako kravaťák, a XML používám všude... gzip na redukci objemu dat bohatě postačuje. Ve velkém informačním systému je to jediné možné čisté řešení (struktura dat je přesně definována, a změny v komponentech se nemusí řešit).
Me to XML prijde ze zadny problem neodstranuje. Namisto problemu "jaky vyznam ma binarni polozka na offsetu 13" tam je akorat 1:1 problem "jaky vyznam ma tag blabla". Takze problem struktury dat to neresi.
Zato to prinasi obrovskou nevyhodu, a to je zvyseni mnozstvi dat a zesloziteni parsovani. Co se driv veslo do bajtu potrebuje ted 1-3 bajty (dekadicky zapis), co driv do 2 bajtu potrebuje 1-5 atd. Co bylo na fixnim miste musi se hledat. Kde byl vyznam dany implicitne je ted dan explicitne tagem a to zabira spoustu mista navic.
Jenže je to přenesitelné kamkoliv, stačí se domluvit s cizí firmou: data od nás lezou ve tvaru xxxxxxxxxxx a hotovo (API). Žádné další starosti, nic. Tohle je k nezaplacení a k tomu je to hlavně určeno. Já si bez něj aplikace neumím představit (protože po staru to byla pěkná prasárna, i když rychlejší).
Az budete muset implementovat interoperabilitu mezi vasim SW a SW tretich stran nad dynamickymi daty (tzn. daty, ktere nemaji zrovna format sekvence fixnich struktur), tak to XML ocenite, verte mi :-)
Az na to, ze kdyz ti pridam do binarniho souboru byte do hlavicky, tak se ti vyznam polozky na offsetu 13 znacne zmeni. U XML bude mit tag "jmeno" vyznam stale stejny, bez ohledu na to, jestli je na pozici 1 nebo 10 (teda pokud nejsem dobytek, jako jeden z dodavatelu naseho IS, ktery s klidem zmeni XML format tak, ze je puvodni parsovani nepouzitelne).
To naprosto není pravda - nic takového jako je stejný význam tagu na různých pozicích nezaručuje. XML totiž žádný význam tagu neurčuje. Není vůbec problém, aby tak xy byl v programu interpretován jinak, než ten samý tag zanořený o jednu úroveň níže v tagu abc. Sice je to prasečina to takto dělat, ale XML tuhle možnost připouští.
A pak je tu ještě prasečina, kdy na stejné úrovni jsou dva stejně pojmenované tagy, ale jejich význam se liší podle pořadí. To asi myslel kolega předemnou. Např. když má z [uroven][x]pokus[/x][x]hokus[/x][/uroven] vylézt "pokus 1, hokus 2" (Hranaté závorky zaměn za špičaté.) To už je prasárna, kterou nepovoluje ani XML. (Teda aspoň doufám.)
Podle me jste neco nepochopil. Dulezite je, ze s XML muzete mit jeden format pro vsechny mozne konfiguraky. Nemusite psat 100 parseru pro ruzne formaty, nemusite stokrat objevovat kolo. Kdo zna v tomto ohledu zmatek v /etc/, vi, o cem pisu. Navic pokud nejste pako jako inzenyri v microsoftu, tak ty vase konfiguraky muzou byt velmi pekne samopopisne, coz treba o takove crontabu tvrdit nelze. :-)
Raději pochopím pár různých jednoduchých konfiguráků v /etc, než abych se učil XML. Soubory XML jsou člověkem mnohem hůře čitelné, než klasické konfiguráky. Takže jsou nakonec zpracovatelné stejně jen pomocí nějaké aplikace a nic se neřeší, spíš naopak - zbytečně komplikuje.
A napsat parser umí každý, kdo má základy výpočetní techniky. Kdo to neumí, ať jde raději prodávat fialky místo toho, aby vymýšlel kraviny.
To hodne zalezi na tom, jak moc velky dobytek je tvurce toho konfiguraku. Znam textove konfiguraky, ve kterych se nikdo jiny nez tvurce nevyzna a to pres to, ze 90% jejich obsahu jsou komentare a znam xml konfiguraky, kde zadne komentare nejsou a pres to je bez problemu pochopi i BFU.
Ale to je spis podruzna vec, pokud chci udelat klikaci konfigurator, ktery nerozbordeli rucne napsany konfigurak, tak to v pripade textoveho souboru je vpodstate nemozny. Vzdycky me potesi, kdyz si napisu vlastni okomentovany konfigurak pro nejaky GUI nastroj, nacez nasledne zmenim jedinou volbu a prijdu o veskere komentare.
Možná by to chtělo odhalit roušku tajemství zkratky XML: Extensible Markup Language. Přičemž to první slovo je strašně důležité a vlastně je důvodem, proč je XML tak ukecané. Do té doby žádná binární (a vlastně ani textová) data neumožňovala tak jednoduché rozšiřování při zachování zpětné kompatibility a míchání více různých formátů do sebe.
Pokud však chcete jednoduchá data, která se budou měnit s verzí aplikace a na zpětné kompatibilitě vám nezáleží, pak je použití XML zbytečné.