To je složité jak autobus. To XML je stejně neskutečná prasárna. Myslím, že už by měl někdo konečně pořádně nahlas bochnout do stolu a říct, že je to marketingová sračka a udělat nějaký jiný formát pěkně od podlahy. Řekl bych, že se to chlapcům z W3C poněkud vymklo z rukou.
Mohlo by se to jmenovat ARML (Again and Right Markup Language) a mohlo by to být založené třeba na LISPu (prakticky jen tuším 4 kategorie znaků). Zkrátka aby zavírací zavorka byla jeden znak a basta (stejně se tagy nesmí křížit, tak proč tam musí být znovu napsaný nějaká sajrajt - akorát se to blbě parsruje) a ať si ktomu člověk napíše komentář, když chce vědět k čemu to je a pořídný editory párové závorky zvýrazňují, programu je to jedno.
Stejně mi nikdo nevysvětlil čím se liší parametr tagu od jiného tagu a jeho obsahu (logicky je to totéž, tak proč je na to speciální syntaxe). Obsah dokumentu by byl jednoznačně oddělený jménem tagu. Stejně to v XML není vyřešené pro výce kategorií textu, ale jen obsah a vše ostatní - přijde mi to jako jakýsi pozůstatek HTML. Znáte Švestku? Jak se pozná senilita? Neschopnost udržet myšlenku a neschopnost opustit myšlenku. XML je senilní, protože nedokáže opustit myšlenku (oddělení obsahu jen ve dvou kategoriích - obsah/sémantika) a nedokáže udržet myšlenku (jednoduchost, přenositelnost, čitelnost - ruku na srdce; kdo zvás dokáže dnes rozlouskonout trošku komplikovanější XML soubor, ve kterém je použito několik jmenných prostorů a ještě ke všemu jsou použity všechny způsoby jak se jmenné prostory můžou psát).
Zkrátka XML je dnes tak úžasně univerzální, že je úplně úžasně nepoužitelný.
Souhlasím s předřečníkem, že XML je "úžasný" formát. M.j myslím, že tady (na ROOTu) někdo o XML napsal, že ani W3C si není jisté jak se má interpretovat kartézský součin dvou entit/jmenných prostorů (nevím přesně čeho).
O efektivitě formátu vypovídá i jeho komprimovatelnost obvykle 12-20x (gzip).
Aby nedošlo k mýlce, XML používám (protože pracuji s programy, které ho využívají). Ale většinu XML kódu generuji přes makra. Úspora času s méně psaním, hledáním chyb a překlepů a nepotřebnosti dohledávat křížení entit nabo jejich neuzavření je značná.
Nakonec pochvala pro autora: Ten nápad s LISPem nebo jeho použitím jeho syntaxe stojí určitě za vyzkoušení, i kdyby z toho měl být jen LISP2XML converter.
Ono je kecu jak ve vceline, kdyz uz nekdo skutecne prosadil format, ktery je siroce pouzivany a uznavany. Neni problem navrhnout vice ci mene vyspele technicke reseni, je problem ho prosadit a reagovat na problemy, ktere vzniknou. Predstava, ze udelam neco oh-so-state-of-the-art a pulka sveta rekne "XML je mrtvo, prechazime vydaje nevydaje" mi prijde vice nez naivni.
XML neni bez problemu, jako ostatne nemuze byt zadna technologie pouzivana pro vymenu dat s tak sirokym zaberem.
Kdyz se (se snahou o konstruktivni pristup) nad XML zamysli jeden z jeho tvurcu, je to zrejme neco jineho nez obecny plac ve forech se snahou o nejake magicke reseni, ktere by seslo na prakticke problemy do ctrnacti dni. To se snazite vyvijet uplne nove alternativy ke kazdemu reseni, ktere ma sve problemy?
Vubec nechapu zminku o komprimovatelnosti XML. Pokud XML zasifruju, nebude komprimovatelne vubec. Znamena to potom, ze je efektivnejsi?
Stejne tak neni XML spatne kvuli tomu, ze se spatne pise v cistem textovem editoru, ale to je mlaceni prazdne slamy...
T.
XML není určitě pozůstatek HTML, ale podmnožina SGML. A SGML je tu oficiálně 17 let, neoficiálně již více, jak 30 let. Ano má mnoho omezení, například můžete text označkovat paralelně jen jedním způsobem. Kdyby to však byl tak zásadní nedostatek, proč se potom neprosadily stejně staré systémy, které umožňovaly několik paralelních označkování -- třeba Xanadu?
Možná jsem byl špatně pochopen, mě nešlo o dva paralelní způsoby značkování, ale o rozlišování mezi obsahem tagu a parametrem tagu. To mělo smysl v HTML, kde platí, že když tenhle tag neznám, zobrazím obsah tagu normálně, hlavně nějak, aby uživatel o žádnou informaci nepřišel. To už v XML úplně pozbylo smyslu a XML nedokázalo opustit myšlenku. Takže někdo na všechny parametry vytváří nové tagy a druhý zase co může nacpe do parametrů tagu a třetí to nějak mixuje. Navíc XML přímo obludně řeší odkazy mezi jednotlivými XML soubory. A to nemluvím o jmenných prostorech. Pro srovnání:
http://www.lispworks.com/reference/HyperSpec/Front/index.htm
Navíc si to vezměme:
<> - hranice tgů
& - speciální entity
; - ukončení speciální entity
/ - uvození koncového tagu
! - spec.
-- - začátek komentáře/scriptu (a vida ho :-)
sp, tab, cr - blank char
zbytek - data/jméno tagu/jméno atributu
A větší znalci doplní další.
To máme 8 kategorií znaků a to jsem určitě ještě na pár zapoměl.
Aha, parametrem tagu myslíte atribut. Ano atributy jde nahradit vnořenými elementy, nadruhou stranu je zápis atributů kratší a proto se může v prostředí, kdy dokumenty vytváří člověk, hodit. Žádné velké složitosti do XML nepřidává.
XML odkazy mezi soubory nežeší. Existuje jazyk XLink, což je aplikace XML, která řeší odkazy mezi libovolnými informačními zdroji, ne jen XML. Že se vám nějaká aplikace nezdá, přeci nezamlouvá, neznamená, že jazyk je špatný. Jmenujte mi jakýkoliv jazyk, který znám, a já vám v něm napíšu špatnou aplikaci. Odsoudíte pak ten jazyk, nebo autora špatné aplikace?
A posuzovat kvalitu jazyka podle počtu znaků se speciálním významem, mi přijde sice jako zajímavá metrika, ale to je tak vše.