Форум программистов, компьютерный форум, киберфорум
Наши страницы
XML/XSL
Войти
Регистрация
Восстановить пароль
 
ioprst
169 / 119 / 82
Регистрация: 12.03.2018
Сообщений: 464
1

XML схема. Порядок следования элементов

13.04.2018, 10:48. Просмотров 152. Ответов 2
Метки нет (Все метки)

Привет. Подскажите, пожалуйста, как решить проблему. Не могу избавить от обязательного порядка объявления элементов.
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="header">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute type="xs:string" name="name"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="libraries">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="library" maxOccurs="unbounded" minOccurs="1">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute type="xs:string" name="id" use="required"/>
                      <xs:attribute type="xs:string" name="path" use="required"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Если я убираю элемент sequence, программа (валидатор) ругается на то, что xsd неверно составлена, ну понятно, что complexType требует какой-то дочерний элемент. Как сделать, чтобы можно было элементы header и libraries записывать в каждом документе в любом порядке?

Добавлено через 1 час 0 минут
Решено.
XML
1
2
3
4
5
<xs:complexType>
  <xs:choice minOccurs="0" maxOccurs="unbounded">
    ...
  </xs:choice>
</xs:complexType>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2018, 10:48
Ответы с готовыми решениями:

Схема XML. Уникальность атрибутов
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой....

XML-схема для YML
Добрый день. Подскажите пожалуйста ссылку на XML-схему для YML (Yandex Market...

Схема XML. Заданные элементы в любом количестве и любом порядке
Здравствуйте, уважаемые форумчане! Никак не могу понять как должен выглядеть...

Статичный порядок следования атрибутов тегов при выводе XML в cElementTree
При формировании xml файла с помощью cElementTree добавляю атрибуты...

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

2
diadiavova
3944 / 1375 / 427
Регистрация: 11.04.2015
Сообщений: 2,561
Записей в блоге: 35
13.04.2018, 11:43 2
Цитата Сообщение от ioprst Посмотреть сообщение
Решено
Это не совсем то. В таком случае все элементы описанные в чойсе могут появляться в любом количестве. Если надо, чтобы появлялись все элементы в количестве,определенном в самих элементах и при этом порядок их появления не важен, используй Элемент <xsd:all>
0
ioprst
169 / 119 / 82
Регистрация: 12.03.2018
Сообщений: 464
13.04.2018, 12:58  [ТС] 3
diadiavova, я пробовал использовать all, не работает. У меня есть элементы, которые имею атрибут maxOccurs="unbounded", и парсер на это ругается, если использовать all.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2018, 12:58

Словари. Порядок следования элементов
Вопрос возможно странный но // Допустим я создаю словарь. ...

Изменить порядок следования элементов массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)...

Изменить порядок следования элементов массива
Прошу помочь буду блогодарна ,заранее спасибо!! Изменить порядок следования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru