Extensible markup language.
Minä väitän, että XML ei ole paras ratkaisu oikeastaan mihinkään. Se ei tuota lisäarvoa, mutta sen käytön opetteleminen tuottaa lisää vaivaa.
[kategoria: työkalut] (huonot sellaiset)
----
Valitse tästä, mikä vaikuttaa helpoimmalta kirjoittaa, lukea ja konelukea:
(1)
{{{ Section: foo Parameter1: bar
Section: foo/sub1 Parameter2: ips, ops, öps
Section: ez }}}
(2)
{{{ (conf '((foo (param1 . bar) (sub1 (param2 ips ops öps))) (ez))) }}}
(3)
{{{
Ja hei, tässä ei vielä edes käytetty mitään epäilyttävää. Ettekä ole joutuneet katsomaan DTD:a tai schemaa... ja katsokaapa huviksenne, kuinka monen sadan kilon kirjastoja on olemassa "ratkaisuna" tähän, mikä hoituisi noin 5 linjalla Perliä (josta en muuten pidä)...
(Metajuttu: tätä sivua kirjoitettaessa jouduin kakkosesimerkkiä varten jo hidastamaan kirjoittamista, mutta vasta kolmosesimerkissä onnistuin tekemään virheitä.)
(4)
{{{ conf = { 'foo': { 'param1': 'baz', 'sub1': { 'param2': ['ips', 'ops', 'öps'|] }}, 'ez': None } }}}
yllä [hakasuljeongelma] -^.
XML:n standardi [makroprosessori], XSLT, on vielä pahempi. Mutta ehkä siitä voipi olla jotain iloa. Itse en osaa XSLT:a kunnolla, jotta voisin demonstroida sitä, mutta haastan kenet tahansa sitä taitavan kirjoittamaan tämän skriptin (sama idea, ei tarkalleen sama funktionaliteetti):
{{{ print "\n"; while (<>) { ( $tagname, $args ) =
/
\n"; }}}
(mielenkiintoista. En osaa perliä kunnolla mutta tässä ohjelmassa ei ollut yhtäkään virhettä ensimmäisellä yrittämällä.)