Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого / 4 сообщений из 4, страница 1 из 1
15.10.2010, 15:15
    #36901704
xarg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого
Привет,

помогите, пожалуйста, разобраться с XML схемой.

Есть документ, в корне которого могут содержаться элементы трех типов — произвольное количество раз, в произвольном порядке, но каждый из типов должен быть один раз обязательно.

Например, валидные документы:
Код: plaintext
1.
2.
3.
4.
<root>
  <alpha/>
  <beta/>
  <gamma/>
</root>

Код: plaintext
1.
2.
3.
4.
5.
6.
<root>
  <gamma/>
  <beta/>
  <gamma/>
  <alpha/>
  <alpha/>
</root>

Невалидный документ (отсутствует обязательный элемент alpha ):
Код: plaintext
1.
2.
3.
4.
<root>
  <beta/>
  <gamma/>
  <gamma/>
</root>


Как в .xsd следует описать элемент root ? Мозг закипел уже.
...
Рейтинг: 0 / 0
17.10.2010, 17:39
    #36903954
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<xsd:element name="root">
  <xsd:compexType>
    <xsd:all>
      <xsd:element name="alpha" maxOccurs="unbounded"/>
      <xsd:element name="beta" maxOccurs="unbounded"/>
      <xsd:element name="gamma" maxOccurs="unbounded"/>
    </xsd:all>
  </xsd:compexType>
</xsd:element>
...
Рейтинг: 0 / 0
18.10.2010, 14:30
    #36905190
xarg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого
_Vasilisk_,

не выйдет. В <all> maxOccurs не может быть больше 1.
...
Рейтинг: 0 / 0
23.10.2010, 12:53
    #36915828
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого
Таки да. Ну тогда, как вариант, перед валидацией натравить XSL, которая отсортирует ноды
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML Schema - тип с произвольным порядком элементов, не менее чем с 1 вхождением каждого / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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