2009-11-25 61 views
2

我從OTA(開放式旅遊聯盟)XSD文件生成C#類。你可以download the XSD file from here爲什麼有些生成的C#類屬性不匹配XSD屬性?

我在Visual Studio命令提示符創建具有以下命令的C#類:

xsd FS_OTA_VehLocDetailsNotifRQ.xsd /classes /nologo 

OTA_VehLocDetailsNotifRQ.POS[0].RequestorID我希望找到一個ID財產。然而,由XSD.exe工具生成的屬性名爲ID_Context

你能否解釋一下爲什麼這樣做,以及是否我能夠迫使它產生正確的(ID)屬性名?

請不要建議我編輯生成的文件,因爲這是不是一個維護的方法。

接受答案後進一步編輯:

望着XSD更緊密地和更換他們的屬性組定義的引用,ID屬性可以看到它的屬性組:

<xs:attributeGroup name="UniqueID_Group"> 
    <xs:attribute name="URL" type="xs:anyURI" /> 
    <xs:attribute name="Type" type="OTA_CodeType" use="required" /> 
    <xs:attribute name="Instance" type="StringLength1to32" /> 
    <xs:attributeGroup name="ID_Group"> 
    <xs:attribute name="ID" type="StringLength1to32" use="required" /> 
    </xs:attributeGroup> 
    <xs:attribute name="ID_Context" type="StringLength1to32" use="optional" /> 
</xs:attributeGroup> 

我相信這是XSD工具中的一個錯誤。

回答

2

讓我們來看看....

  • RequestorID包含類型UniqueID_Type
  • UniqueID_Type複雜的內容包含了一組屬性稱爲UniqueID_Group
  • UniqueID_Group引用是一個屬性組,其中包含以下屬性:
    • URL
    • Type
    • Instance
    • 一個參考到ID_Group
    • ID_Context

我想C#代碼 「ID_Context」,是因爲該屬性組中的 「ID_COntext」 屬性的生成。 ..我沒有看到任何問題。

但我不同意 - 那ID_Group應包括「ID」屬性,但它似乎已XSD.EXE是下降嵌套參考ID_Group - 無論出於何種原因......它似乎是別人無意中發現一個問題在其他情況下也是如此。貌似XSD.EXE無法完成這一任務:-(

也許還檢查了這個討論:

http://groups.google.com/group/OTA-Impl-Forum/browse_thread/thread/fa476cfb6e1fa7f7

更新:我也是從WCF(.NET 3試過svcutil.exe。0及以上) - 沒有運氣:-(任何

Error: Type 'DateOrTimeOrDateTimeType' in namespace ' http://www.opentravel.org/OTA/2003/05 ' cannot be imported. Simple types with ** <union> content are not supported. Either change the schema so that the types can map to data contract types or use ImportXmlTyp e or use a different serializer.

+0

哇,我錯過了這一步;做得很好,正如你所說,ID_Group的跳過是問題,這太可惜了,它的屬性是 – 2009-11-25 16:51:22

1

有點晚了,但我想我也許找到了解決你的問題(而現在我的問題太):

http://www.opentravelcommunityforum.com/forum/viewtopic.php?f=8&t=19

我還沒有嘗試,但我即將

+0

我不認爲這解決了這個問題,但如果它確實請在這裏分享修復。謝謝小號! – 2010-04-26 06:30:08

+0

是的,它爲我工作。我有同樣的問題,通過嵌套我可以修復它! – Luiggi 2010-05-13 01:26:01

相關問題