powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD Choice
6 сообщений из 6, страница 1 из 1
XSD Choice
    #37674044
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моделирую ситуацию подачи супругами заявления на развод. Заявления может подать муж, жена, или совместно. Получается:


Код: sql
1.
2.
3.
4.
5.
6.
    <complexType name="applicant">
    	<choice minOccurs="1" maxOccurs="2">
    		<element name="husband" type="string" minOccurs="1"></element>
    		<element name="wife" type="string" minOccurs="1"></element>
    	</choice>
    </complexType>



Но SAXParser говорит что xml
Код: sql
1.
2.
3.
4.
<applicant>
 <S:wife>sdfgfdsgdf</S:wife>
 <S:wife>sdfgfdsgdf</S:wife>
</S:add>



валидный. Как описать существование обязательно хотя-бы одного из элементов или двоих одновременно?
...
Рейтинг: 0 / 0
XSD Choice
    #37674101
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
element maxOccurs?
...
Рейтинг: 0 / 0
XSD Choice
    #37674182
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит Antonariyelement maxOccurs? ?
...
Рейтинг: 0 / 0
XSD Choice
    #37674389
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это значит: у element есть атрибут maxOccurs? Ему можно выставить 1?
...
Рейтинг: 0 / 0
XSD Choice
    #37674462
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЭто значит: у element есть атрибут maxOccurs? Ему можно выставить 1?
Пробовал, тоже самое. Как будто атрибуты minOccurs и maxOccurs элемента choice перекрывают значения атрибутов элементов.
...
Рейтинг: 0 / 0
XSD Choice
    #37675002
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123Как описать существование обязательно хотя-бы одного из элементов или двоих одновременно?В лоб никак. Или вводите третий элемент "both" или используйте xsd:list
Alexey123Но SAXParser говоритПравильно говорит. Ваше объявление фактически разворачивается в такое
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<complexType name="applicant">
  <choice minOccurs="1" maxOccurs="1">
    <element name="husband" type="string" minOccurs="1"></element>
    <element name="wife" type="string" minOccurs="1"></element>
  </choice>
  <choice minOccurs="0" maxOccurs="1">
    <element name="husband" type="string" minOccurs="1"></element>
    <element name="wife" type="string" minOccurs="1"></element>
  </choice>
</complexType>

соответственно каждый choice определяет как ему жить - самостоятельно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD Choice
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]