Здравствуйте, Shmj, Вы писали:
S>Ну и там и там же иерархия и уровни вложенности:
S>S><node name="Root">
S> <node name="Child1">
S> <node name="Grandchild1" value="Grandchild1Value" />
S> <node name="Grandchild2" value="Grandchild2Value" />
S> </node>
S> <node name="Child2">
S> <node name="Grandchild3" value="Grandchild3Value" />
S> </node>
S></node>
S>
S>S>{
S> "Root":[
S> { "Child1":[
S> {"Grandchild1": "Grandchild1Value"},
S> {"Grandchild2": "Grandchild2Value" }
S> ]},
S> { Child2":[{"Grandchild3": "Grandchild3Value" }]}
S> ]
S>}
S>
S>- что вам удобнее?
Что-то типа:
{node {name "Root"}
{node {name "Child1"}
{node {name "GrandChild1"} "GrandChild1Value"}
{node {name "GrandChild2"} "GrandChild2Value"}
}
{node {name "Child2"}
{node {name "GrandChild3"} "GrandChild3Value"}
}
}
Фигурные скобки можно заменить на круглые (чтобы получились привычные некоторым s-expressions), но смысла это не изменит.
Из собственного опыта -- когда в разметке можно добавлять новые теги/атрибуты для "узла", то это очень удобно.
Например, было
{node {name "GrandChild1"} "GrandChildValue"}}
со временем стало
{node {name "GrandChild1" {alias "Bob Jr"}} "GrandChildValue" {mandatory}}
Причем такая теговая/атрибутная система позволяет поддерживать обратную совместимость с уже имеющимися данными.