我們通過MS XML 4完成了很多序列化操作。當我們序列化C++枚舉時,我們使用一個表將每個可能的值轉換爲一個字符串,並將該字符串存儲爲一個屬性值。當我們反序列化時,我們讀取該屬性值,將其與表中的所有項進行比較並檢索相應的枚舉值。如果我們沒有發現我們提出錯誤。xs:選擇相當於C++枚舉嗎?
爲了便於通過外部程序創建XML,我們爲所有感興趣的數據類型發佈了XML模式。枚舉的屬性定義如下:
<xs:complexType>
//other fields here
<xs:attribute name="Color" type="xs:string"></xs:attribute>
</xs:complexType>
它的工作原理,但不包含什麼是可能的字符串值的定義。我怎樣才能爲這個定義添加可能的值?我是否使用xs:這個選擇?
在實踐中雖然(雖然我同意你的看法)他們不是基本上完成同樣的事情嗎? – 2009-10-10 18:35:24