Druhou možností je dát význam i bílým znakům (nový řádek uzavře element nebo povinné odsazení při změně úrovně). Tím byste ovšem vymyslel yaml.
No však :-)
Jazyky s významem v bílých znacích mají zase svoje mouchy:
- Stačí trošku větší úroveň zanoření a dokument utíká z obrazovky,
- v místě ukončení delšího bloku je vizuální problém trefit správnou úroveň odsazení
Jsou to prostě dvě různé možnosti pro vyjádření hierarchie (Python vs. Ruby, XML vs. Yaml, JS vs. Coffescript) a obě mají výhody i nevýhody.
Mohl jste si to někdy dovolit u html (relativně málo značek, implicitně známé DTD),
Mohu si to u něj dovolit stále a ne někdy, ale vždy u všech nepovinných párových tagů.
Jen to pak občas vypadá různě v různých prohlížečích, protože browser netuší, kde má element ukončit.
A do doby HTML 4 a IE 4/5/6 se opravdu vracet nechci ani ve vzpomínkách. Exporty z Wordu s elementy, které občas zavřené nebyly, občas byly a občas byly, ale blbě (<a>
[/url]) bývaly opravdu lahůdka.
Přesně tak. Tak to dělá i html, ale není to odvozeno od odsazení, ale od následujících značek.
Což je zase něco co si možná můžete dovolit u HTML, ale ne u obecného formátu pro strukturovaná data. Protože byste potřeboval DTD, které to pravidlo pro vynucené uzavření popíše.