2016-03-07 7 views
0

Я пытаюсь создать выбор между последовательностью из двух элементов и одного элемента, как таковые:выбор XSD между последовательностью или одного элементом

<xs:element name="LoadStationsRequest"> 
<xs:choice> 

    <xs:complexType> 
     <xs:sequence> 
      <xs:element name="path" type="xs:string" /> 
      <xs:element name="fileName" type="xs:string" /> 
     </xs:sequence> 
    </xs:complexType> 

    <xs:complexType> 
     <xs:sequence> 
      <xs:element name="row" type="xs:string" /> 
     </xs:sequence> 
    </xs:complexType> 

</xs:choice> 
</xs:element> 

Проблемы заключается в том, что выбор тег принимает любого из три элемента внутри него, «путь», «имя файла» и «строка».

То, что я хочу, это либо путь И имя файла, либо ТОЛЬКО строка.

Является ли это выполнимым? Любые подсказки о том, как это решить?

Выходной ток:

 <v1:LoadStationsRequest> 
    <!--You have a CHOICE of the next 2 items at this level--> 
    <v1:path>?</v1:path> 
    <v1:fileName>?</v1:fileName> 
    <v1:row>?</v1:row> 
    </v1:LoadStationsRequest> 
+0

Я хотел бы добавить, что я попытался вложенности элемент «строка» в последовательности по своей собственной, так что выбор метки будет содержать две последовательности. Но это не имело значения. –

+0

Да, это выполнимо. Ваш complexType выглядит нормально, вы можете показать нам больше своей схемы и образец XML, который будет проверен против этой схемы. Благодарю. – potame

+0

В настоящее время у меня нет XML для проверки. Я обновил свое первоначальное сообщение о том, где я сейчас нахожусь, надеюсь, это поможет. –

ответ

2

Работы для меня:

<xs:element name="LoadStationsRequest"> 
    <xs:complexType> 
     <xs:choice> 
      <xs:sequence> 
       <xs:element name="path" type="xs:string" /> 
       <xs:element name="fileName" type="xs:string" /> 
      </xs:sequence>   
      <xs:sequence> 
       <xs:element name="row" type="xs:string" /> 
      </xs:sequence> 
     </xs:choice> 
    </xs:complexType> 
</xs:element> 
+0

Я все еще получаю тот же результат. Я использую soapUI и загружаю «шаблон запроса», предположим, из WDSL. Я не думаю, что текущий вывод (в моем исходном сообщении) дает достаточные инструкции, например, путь И имя файла, или ТОЛЬКО строку. (Я новичок в этом, но это мое задание, извините, если я не понимаю смысла) –