2012-02-20 41 views
0

我正在寫下一些XSD文件,以便在應用程序和SharePoint之間進行webservice通信。我試圖讓我的參數爲「必需」,但即使我將minOccurs設置爲1,也可能未指定它們。如何在XSD創建中添加「需要」字段?

我該如何解決這個問題?下面是我的XSD之一:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="RemoveGroup" 
targetNamespace="http://tempuri.org/RemoveGroup.xsd" 
elementFormDefault="qualified" 
xmlns="http://tempuri.org/RemoveGroup.xsd" 
xmlns:mstns="http://tempuri.org/RemoveGroup.xsd" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> 
<xs:element name="RemoveGroup"> 
<xs:complexType> 
    <xs:sequence> 
    <xs:element name="tt_group_id" type="xs:long" /> 
    <xs:element name="tt_network_id" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 
</xs:schema> 

我希望有辦法不寫下來的houndred 「如果(input.Parameter!= NULL)」 ...

回答

1

使用在任的<element/><sequence/>級別是正確的事情。你有什麼具體的錯誤?

UPDATE

其實一個<sequence/>解析器中應該期待的元素只有一個實例

UPDATE

你的解析器可以發出錯誤,你需要爲了處理事件捕捉錯誤 - 許多常見的解析器都有這種行爲。

可能導致錯誤的東西是簡單類型的long中的空值 - 此類型不允許空白。如果你想表明允許空值,你應該使用名字空間http://www.w3.org/2001/XMLSchema-instance中的nil=true

+0

沒有錯誤......當參數傳遞爲null或未傳遞時,只是沒有錯誤發生......所以我必須控制我的代碼..我已閱讀規範並告訴minOccurs =「1」是默認值.. – 2012-02-20 11:46:37

+0

實際上,在一個真實的序列中 - 解析器應該只需要一個元素的實例 – 2012-02-20 12:17:02

+0

請參閱update – 2012-02-20 12:22:20

相關問題