2009-10-20 42 views
0

我們正在創建一個REST服務,客戶端將發送包含金融投資組合的XML。產品組合XML將使用已發佈的標準XML DTD。我們想向組合XML添加一些數據。如何創建使用兩個DTD的XML文件?

我們希望保持根據發佈的DTD驗證XML的能力。但是,如果我們添加額外的字段,則DTD驗證現在將失敗。有沒有辦法創建一個包含現有DTD和新字段的新DTD?

回答

1

您可以將發佈的標準DTD作爲外部DTD包含進來,然後與XML文檔一起創建一個內部DTD,或者創建另一個添加新元素並添加新元素的DTD。
這是(來自w3schools截取)的內部DTD的一個例子:

<?xml version="1.0"?> 
<!DOCTYPE note [ 
<!ELEMENT note (to,from,heading,body)> 
<!ELEMENT to (#PCDATA)> 
<!ELEMENT from (#PCDATA)> 
<!ELEMENT heading (#PCDATA)> 
<!ELEMENT body (#PCDATA)> 
]> 
<note> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don't forget me this weekend</body> 
</note> 
+0

哪裏參考公佈的標準DTD? – 2009-10-26 02:12:08

+0

將它作爲另一個'<!DOCTYPE ...>'聲明,如 '<!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」「http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd「>'
'<!DOCTYPE note [... internal doctype ...]>' – phunehehe 2009-10-26 04:32:45