2011-05-04 55 views
0

我正在創建一個可擴展的XML類語言,將在C#中解析。當用戶創建新標籤時,他們需要能夠指定允許的位置。即它可以包含哪些元素,無論它是否需要出現在特定元素之前或之後,或者何處。我希望儘可能多的靈活性。舉個例子:如何指定允許DOM元素的位置?

grid { 
    row { 
     if(x='y') { 
      "hello" 
     } else { 
      "world" 
     } 
    } 
} 

「行」只能出現在「網格」和「別人的」只能遵循「如果」。

我在想我可以使用一些類似於jQuery的語法,但我不知道如何工作。查詢grid > row選擇包含在網格中的所有行,但是我可以使用相同的語法來指示只允許在那裏出現一行嗎?也許我可以運行選擇器,如果所涉及的元素不包含在結果集中,那麼它是不允許的?

任何有關指定元素允許位置的乾淨方式的建議都會受到讚賞。

回答

0

這看起來很像創建XML Schemas

+0

你將如何指定元素X必須跟在元素Y?我以爲你只能指出一個元素必須包含在另一個元素中,而不是與排序有關? – mpen 2011-05-04 21:22:31

+0

http://www.w3schools.com/Schema/schema_complex_indicators.asp這個「序列」的東西......?那可以用來做我所問的嗎?無論如何,我想在C#中指定這些信息......我試圖擺脫XML,而不是更接近它(我覺得它太冗長了)。 – mpen 2011-05-04 23:47:09

+0

我明白了,那麼xml不適合你。 – 2011-05-04 23:50:11