Я создаю расширяемый XML-подобный язык, который будет проанализирован в C #.Когда пользователь создает новый тег, он должен иметь возможность указать, где ему разрешено находиться.то есть, в каких элементах он может содержаться, должен ли он появляться до или после определенного элемента или где-либо еще.Я хочу как можно больше гибкости.В качестве примера:
grid {
row {
if(x='y') {
"hello"
} else {
"world"
}
}
}
«строки» могут появляться только в «сетках», а «elses» может следовать только «если».
Я думаю, я мог бы использовать некоторые jQueryКак синтаксис, но я не знаю, как это будет работать.Запрос grid > row
будет выбирать все строки, содержащиеся в сетке, но могу ли я использовать тот же синтаксис, чтобы указать, что строка может появляться только там?Может быть, я мог бы запустить селектор, и если рассматриваемый элемент не содержится в результирующем наборе, он запрещен?
Любые предложения по хорошему чистому способу указания, где элементы могут быть разрешены, приветствуются.