Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XSD one or more elements in sequence 
:(
    Опции темы
Zloxa
Дата 13.5.2016, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 2
Всего: 161



Добрый день.

Есть некое перечисление элементов XML. К примеру Title, Author, ISBN. 

Мне необходимо на уровне XSD задать правило, что должна быть указана либо пара Title+Author, либо ISBN, но при этом допускать чтобы были указаны все три элемента. Есть ли такая возможность?



Это сообщение отредактировал(а) Zloxa - 13.5.2016, 10:20


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
diadiavova
Дата 13.5.2016, 11:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5807
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 21
Всего: 139



Цитата(Zloxa @  13.5.2016,  10:03 Найти цитируемый пост)
Добрый день.

Здорова, коли не шутишь smile 
Цитата(Zloxa @  13.5.2016,  10:03 Найти цитируемый пост)
Мне необходимо на уровне XSD задать правило, что должна быть указана либо пара Title+Author, либо ISBN, но при этом допускать чтобы были указаны все три элемента.

Ну как вариант, можно сделать что-то типа этого
Код

            <xs:choice>
              <xs:sequence>
                <xs:element name="title"/>
                <xs:element name="author"/>
                <xs:element name="ISBN" minOccurs="0"/>
              </xs:sequence>
              <xs:element name="ISBN"/>
            </xs:choice>



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Zloxa
Дата 13.5.2016, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 2
Всего: 161



Цитата(diadiavova @  13.5.2016,  12:13 Найти цитируемый пост)
можно сделать что-то типа этого

Спасибо.
У меня таких элементов (групп элементов) - более пяти. Должен быть упомянут хотя-бы один из них. Могут быть упомянуты более одного/все.
как-то совсем-совсем не изящно получается
Код

  <xsd:element name="exampleElement">
     <xsd:complexType>
        <xsd:choice>
           <xsd:sequence>
               <xsd:element name = "Element1" type = "xsd:string"/>
               <xsd:element name = "Element2" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element3" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element4" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element5" type = "xsd:string" minOccurs="0"/>
           </xsd:sequence>
           <xsd:sequence>
               <xsd:element name = "Element2" type = "xsd:string"/>
               <xsd:element name = "Element3" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element4" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element5" type = "xsd:string" minOccurs="0"/>
           </xsd:sequence>
           <xsd:sequence>
               <xsd:element name = "Element3" type = "xsd:string"/>
               <xsd:element name = "Element4" type = "xsd:string" minOccurs="0"/>
               <xsd:element name = "Element5" type = "xsd:string" minOccurs="0"/>
           </xsd:sequence>
           <xsd:sequence>
               <xsd:element name = "Element4" type = "xsd:string"/>
               <xsd:element name = "Element5" type = "xsd:string" minOccurs="0"/>
           </xsd:sequence>
           <xsd:element name = "Element5" type = "xsd:string"/>
        </xsd:choice>
     </xsd:complexType>
  </xsd:element>




--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Google
  Дата 15.12.2019, 16:06 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0739 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.