Ano, ale to znamená napsat si to sám. :-) (Nebo si opatřit existující dostupné knihovny a doufat, že nemají svá "specifika".)Toho není ušetřeno ani XML. A pokud nepoužiješ třeba XPath, což něco stojí (minimálně dokument v paměti a kus výkonu), tak si ten kód na SAXí eventy stejně musíš napsat sám. Where is the difference? Když jsem něco takového kdysi psal, fakt mi nepřišlo, že bych si tím něco zjednodušil.
Ano, ale v těchto jazycích je obvykle složité napsat jiný program než parser (aspoň z toho, co jsem viděl).Zato v Javě jsem si připadal, že se v ní píše všechno stejně špatně. :-) Ne všichni musejí tento Tvůj názor sdílet.
To znamená, že se tam lépe umístí i něco složitějšího než je řádka textu. A můžeš s tím lépe pracovat, např. pomocí atributů atp. Budu se mýlit, když řeknu, že do jedné vlastnosti "klasického" konfiguráku lze zapsat jen atomickou hodnotu?
Máš fakt malou fantazii. :-) Začínám chápat, proč máš rád XML. Jsi zvyklý uvažovat v mezích jeho konceptů, a proto nevidíš, co se dá řešit jinak.
Kupříkladu mi není jasné, jak by "můžeš s tím lépe pracovat, např. pomocí atributů atp." mělo být relevantní. Atributy můžu mít kdekoli, ani tomu nemusím říkat atributy. Chvílemi mi dokonce přijde, že dělení na atributy a elementy je jen pro zlost. Chvílemi opravdu není jasné, jestli co v datovém formátu nacpat do atributu a co do elementu jako PCDATA.
Tohle dokonce vidím jako jeden z viditelných symptomů toho, že se XML často používá k něčemu, pro co nebylo navržené: V dokumentech platí, že PCDATA je textový obsah dokumentu, kdežto atributy určují způsob jeho zobrazování (nebo to z něj, co nedokáže vyjádřit hierarchická struktura a názvy elementů, případně jiné neobsahové věci, třeba jedinečná ID), takže není co řešit. Ale kde je hranice ve výměnném datovém formátu? Pokud je ta distinkce v (údajně) "obecném" metaformátu natolik neintuitivní a nesamozřejmá, že tisíce lidí cítí potřebu rozebírat to kolem dokola, neznamená to, že je něco špatně? Tímto Ti děkuji za nahrávku na smeč. :-)
Žádný "klasický" konfigurák navíc neexistuje, protože nic takového není definované. A nikdo Ti nebrání udělat si pro neatomické hodnoty třeba syntaxi hodnoty = ["Jedna", "Dvě", "Tři"]
, a věřím, že slušný parser alternativu mezi atomickou hodnotou a seznamem hodnot zvládne na pár řádků. :-)
Ale to už se pomalu dostáváme zase ke XML. Jen tam místo zobáčků jsou složené závorky.
Nedostáváme. Zatím jsme pouze na úrovni jednoduchého jazyka s blokovou strukturou. Jestli nechceš flat file, níž se jít už moc nedá, a pokud jdeš výš, můžeš si vybírat, jaké struktury zavedeš. Tvrdím, že pokud se jedná 1) o jazyk určený k ručním úpravám, 2) bez ambic, které má XML (rozšiřitelnost, výměnný formát, ve kterém je víc stryuktury, než textového obsahu) a obzvlášť 3) s malou až střední gramatikou (na které se toho nedá moc zkazit - nebavíme se tu o C++! :)), je blbost sahat ihned ke XML.
Standardizujme to, vytvořme pro většinu jazyků knihovny a... a pojmenujme to XML 2. :-)
Směle do toho, nadšený javisto! :-D