2010-09-30 65 views
1

我創建一個XML層次結構看起來是這樣的:我應該將XML節點放在容器元素中嗎?

element A 
    0+ element B 
    0+ element C (has PCDATA) 
     (more complex hierarchy below this one, not really relevant) 
    0+ element D 
    0+ element E 
    0+ element F 
    0-1 element G (has PCDATA) 
    0-1 element H (has PCDATA) 

結果,它的開始看起來有點「擁擠」的元素下答:我要補充的容器元素來組織事情有點,像這樣:

element A 
    0-1 B-container 
    0+ element B 
     0-1 C-container 
     0+ element C (has PCDATA) 
      (more complex hierarchy below this one, not really relevant) 
    0-1 D-container 
    0+ element D 
    0-1 E-container 
    0+ element E 
    0-1 F-container 
    0+ element F 
    0-1 element G (has PCDATA) 
    0-1 element H (has PCDATA) 

或者它是好的,在元素A下面有一堆不同的元素?

這個XML需要被大多數用戶編寫的XSL樣式表佔用,所以我想弄清楚什麼使用戶最容易與之交互。

回答

2

我不認爲它會爲創建樣式表的用戶帶來很大的不同,任何節點都可以使用選擇器來選擇 - 它只是不同,不一定更容易或更難。

我想說確保您的數據結構能夠直觀地表示數據更重要。如果你所代表的內容自然是分層的,那就去找一個能夠以這種方式表現的結構。然後,結構將更容易處理,因爲它更易於記憶和可視化,並且通常一起處理的節點在樹中將彼此靠近。

哦,不要忘記屬性。例如,有時候在處理XML時會讓我感到迷惑的是那些自然而然就像屬性一樣的數據 - 例如元素。

+0

謝謝 - 我有一堆屬性用於數據,與PCDATA元素只有當我有多行文本,需要得到輸出時使用。 – Colen 2010-09-30 21:27:02