2013-01-23 109 views
1

我需要爲下面的XML創建驗證文件(DTD或Schema或其他):如何使用動態元素爲XML創建驗證文件?

<?xml version="1.0" encoding="UTF-8"?> 
<Result> 
    <StatusCode>1</StatusCode> 
    <StatusMessage> 
    <SSPReturnMessage> 
     <S>false</S> 
     <Date>23-Jan-2013 14:33</Date> 
     <EL> 
     <E EC="473"> 
      <ES><![CDATA[Error message]]></ES> 
     </E> 
     </EL> 
    </SSPReturnMessage> 
    </StatusMessage> 
    <Data> 
    <LocalPort>-1</LocalPort> 
    <TunnelID></TunnelID> 
    </Data> 
</Result> 

數據標籤是optinal和標籤內可以是任何東西(任何標記名稱)。
問題是如何做到這一點以及使用哪種技術? DTD或Schema?甚至還有其他什麼?

+0

什麼意思是通過驗證,只是標籤或諸如日期的東西是有效的日期 – Mark

+0

驗證意味着簡化形式語法,該語法準確地聲明哪些元素和引用可能出現在特定類型的文檔中的什麼位置,以及元素,內容和屬性。 – Snow

+0

基本上,主要問題是如何動態驗證從第一位未知的內部數據標籤。 – Snow

回答

1

你不能用DTD來做到這一點。您可以聲明Data

<!ELEMENT Data ANY> 

Data任何孩子仍然需要聲明(你不能這樣做,因爲你不知道這些元素會)。

我認爲你是正確的,需要在XSD中使用xs:any

+0

謝謝,我想我會使用XSD作爲解決方案。 – Snow