На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Пара вопросов по XSD , Любое количество элементов в любой последовательности, разный синтаксис в зависимости от значения артибута
    Добрый день.

    1. Есть некоторое количество типов. Мне нужно, чтобы в некоем элементе была последовательность из любого количества этих типов, причём в любом порядке. Например:
    ExpandedWrap disabled
      <root>
        <A/>
        <B/>
        <B/>
        <A/>
        <B/>
      </root>


    2. Есть определённый тип. У него есть атрибут. Мне нужно, чтобы содержимое этого типа зависело от значения этого атрибута. Например:
    ExpandedWrap disabled
      <item type="1">
        <a>100</a>
      </item>
      <item type="2">
        <b>lalala</b>
      </item>


    Интересуют сами схемы. Гугл внятных результатов не дал. Оба вопроса скорее академические, поэтому ответы в духе "переделай саму структуру XML" бесполезны.

    Заранее спасибо.
    Сообщение отредактировано: Narsil -
      1
      ExpandedWrap disabled
          <xs:choice maxOccurs="unbounded">
            <xs:element name="A" maxOccurs="unbounded"/>
            <xs:element name="B" maxOccurs="unbounded"/>
          </xs:choice>


      Добавлено
      Насчёт второй задачи предложений несколько:
      - использовать наследование, явно указывать xsi:type
      - перенести type в потомков item, использовать choice
      - найти аналог желаемого хотя бы в одном XML-подобном языке (будь то xsd, xsl, xhtml или ещё что) и посмотреть, как оно реализовано

      Пока что ничего придумать не могу.
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0187 ]   [ 14 queries used ]   [ Generated: 14.05.24, 10:26 GMT ]