2011-06-09 35 views
1

在這些日子裏,我不得不開發涉及xml模式定義的應用程序。那麼,我使用某些系統和技術,其中大多數是與Microsoft相關的資源,我可以瞭解到並非所有xml實體都受到xml解析器和開發世界中可用的其他工具的支持。XML模式元素支持的子集:真相還是假的?

例如,我知道DataContractSerializer不能處理xml屬性。

好,由微軟或使用其DataContractSerializer總是生成XML模式瀏覽網頁,我可以理解,它不僅屬性,但今天可用的工具並不支持所有實體的XML裏面,其實工具,如Xsd.exe,逐字:

XML模式中最支持 元素標準 規範的子集

1)好了,我的問題是:這些信息是真的嗎? 2)xsd中的許多元素是否被當前的開發工具所支持是真的嗎? 3)如果是,那麼今天所有可用工具支持的xsd元素的最小子集是多少?

三江源

回答

2

我所知道的一些工具僅支持XSD的一小集,但補救措施是避免那些工具(像大多數其他人做的)。所以你的問題沒有真正的答案。大多數主流的XSD驗證器(與數據綁定工具不同)支持規範中的所有內容,但邊緣情況除外:但它們在考慮邊緣情況時有所不同。例如,Altova不執行唯一粒子歸因約束;微軟(我相信)支持他們自己的正則表達方式,而不是W3C規範中定義的方言。

數據綁定工具有點不同,因爲它們有一些挑戰,即將XSD構造映射到某些其他類型系統中的事物,並且取決於其他類型系統是什麼,某些構造不容易映射。據瞭解,許多數據綁定工具在混合內容方面存在問題。

我不知道什麼是「DataContractSerializer」,但如果它真的不處理XML屬性,那麼它看起來像是要避免的東西。

相關問題