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


Код: 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
22.02.2012, 11:55
    #37674101
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD Choice
element maxOccurs?
...
Рейтинг: 0 / 0
22.02.2012, 12:38
    #37674182
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD Choice
Что значит Antonariyelement maxOccurs? ?
...
Рейтинг: 0 / 0
22.02.2012, 14:11
    #37674389
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD Choice
Это значит: у element есть атрибут maxOccurs? Ему можно выставить 1?
...
Рейтинг: 0 / 0
22.02.2012, 14:40
    #37674462
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD Choice
AntonariyЭто значит: у element есть атрибут maxOccurs? Ему можно выставить 1?
Пробовал, тоже самое. Как будто атрибуты minOccurs и maxOccurs элемента choice перекрывают значения атрибутов элементов.
...
Рейтинг: 0 / 0
22.02.2012, 19:55
    #37675002
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD Choice
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
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD Choice / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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