2009-12-23 44 views
20

我有一個XSD正在經歷從一組元素到另一個元素的轉換。在過渡期間,會有代碼期待新元素和代碼期待舊元素。因此我需要保留XSD中的舊元素;我將它們記錄爲已廢棄(使用xs:documentation元素中的自由文本)。在XSD中棄用標記元素

有沒有一種標記元素爲不推薦使用的方法,如xmllint這樣的工具會自動發出警告,如果有人使用棄用的元素?

回答

18

使用新的名稱空間創建新的模式。稱這個「版本2」。如果您選擇在您的應用程序中支持版本1 XSD和版本2 XSD,但是保持它們獨立,並且不要嘗試將兩者疊加在一起 ​​- 特別是如果您要阻止人們使用版本1

這是值得考慮的,因爲它描述了你正在處理什麼用的一些: archive of http://www.pluralsight.com/community/blogs/tewald/archive/2006/04/19/22111.aspx

我知道,但是,並沒有真正解決您的問題。關於「是否有辦法做到這一點?」答案是「不 - 不以普遍支持的方式」。我見過人們添加他們自己的文檔註釋來提示,但這不會被工具普遍理解。

從長遠來看,最好的辦法是創建一個針對您的模式的版本控制故事,並將版本2與版本1分開。