2010-10-18 101 views
0

我的任務是編寫一個xsd,用於我公司創建的xml文件格式。XML變量標籤名稱

不幸的是標籤中的一個包含兩個變量,這裏是標籤

<to_1.1.1.0_24> 

的1.1.1.0的一個例子是IP地址,這樣可以改變,而24是網絡掩碼。 無論如何在xsd文檔中表達這一點。

非常感謝

大衛

+0

這聽起來像這個XML的原始設計者不喜歡XML的冗長,並試圖變得聰明。大錯。在XML生態系統的其他部分處理這個XML將會很痛苦,因爲您現在正在看到爲它編寫XSD。 – 2010-10-18 15:14:22

+0

我現在看到在編寫XSD時遇到很大困難,我認爲我會拖延,直到我可以重構代碼的這個區域。 – Mumbles 2010-10-18 15:16:56

回答

3

標籤。這應該分解成屬性或元素。例如:

<to ip="1.1.1.0" netmask="24" /> 

或:

<to> 
    <ip>1.1.1.0</ip> 
    <netmask>24</netmask> 
</to> 
+0

謝謝,我希望事實並非如此。這是我懷疑的xml解碼,非常複雜。不幸的是,我沒有設計這部分軟件或xml結構。 – Mumbles 2010-10-18 15:15:16

0

號而在一般情況這是非常糟糕的形式將XML文檔,因爲它使得解析它相當少的簡單比它應該是。實際上它應該像

<to network="1.1.1.0" netmask-bit="24">...</to> 

或類似的東西本身不應含有可變數據

1

使用xsd:any元件。這將驗證這種元素。

然而,它不會因其他任何驗證失敗,但這是當你將這種東西變爲XML時必須做出的折衷。