如何在XSD创建中添加“必需”字段?

时间:2012-02-20 09:19:15

标签: xsd optional-parameters xsd-validation

我正在为应用程序和sharepoint之间的Web服务通信写下一些XSD文件。我正在尝试使我的参数“必需”,但即使我把minOccurs设置为1,也可能没有指定它们。

我该如何解决这个问题?这是我的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>

我希望有办法不写下“if(input.Parameter!= null)”......

1 个答案:

答案 0 :(得分:1)

minOccurs="1"<element/>级别使用<sequence/>是正确的做法。你得到了什么具体的错误?

<强>更新

实际上在<sequence/>解析器中应该只需要一个元素的实例

<强>更新

您的解析器可能会发错,因为您需要处理以捕获错误的事件 - 许多常见的解析器都有此行为。

可能导致错误的是long简单类型中的空值 - 此类型不允许空白。如果要指示允许空值,则应使用命名空间nil=true中的http://www.w3.org/2001/XMLSchema-instance