Как поставить «обязательное» поле в создании XSD?
-
28-10-2019 - |
Вопрос
Я записываю немного XSD -файла для связи веб -сервиса между приложением и SharePoint .. Я пытаюсь сделать свои параметры «необходимыми», но даже если я помесчу 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>
Я надеюсь, что есть способ не записывать Houndred "if (input.parameter! = Null)" ...
Решение
С использованием minOccurs="1"
в любом <element/>
или же <sequence/>
Уровень - это правильная вещь. Какая конкретная ошибка вы получаете?
ОБНОВИТЬ
На самом деле в пределах <sequence/>
Парсеры должны ожидать ровно одного экземпляра элемента
ОБНОВИТЬ
Ваш анализатор может излучать ошибки как события, которые вам необходимы для обработки, чтобы захватить ошибки - многие общие анализаторы имеют такое поведение.
Что -то, что может вызвать ошибку, является нулевым значением в long
Простой тип - этот тип не разрешает пробелы. Если вы хотите указать, что разрешены нули, вы должны использовать nil=true
из пространства имен http://www.w3.org/2001/XMLSchema-instance
.