Смешанные элементы в XML Schema
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Смешанные элементы в XML Schema Expand / Collapse
Автор
Сообщение
21.10.2006 23:16
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 28.10.2006 19:11
Сообщ.: 3, Visits: 5
Народ, подскажите, как описать в XML Schema следующий XML-Документ:

<include>disk_c.txt</include>
<exception name="MissingField">
  <field name="fieldName" type="string" />
</exception>
<include>disk_d.txt</include>
<exception name="MissingField">
  <field name="fieldName" type="string" />
</exception>

Я смотрел стандарт и видел, что ближе всего было бы заключить описание элементов <include> и <exception> в группу <xsd:all></xsd:all>, но повторение элементов из этой группы возможно не более одного раза.

Как можно решить этот вопрос?

Сообщ. #906162
22.10.2006 13:10
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Такой XML документ сущестовать не может так как корневой элемент всегда один поэтому будем считать что это часть документа внутри тега <root>. Тогда схему документа можно описать следующим образом:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="...">
  <xsd:element name="root">
    <xsd:complexType>
      <xsd:sequence minOccurs="1">
        <xsd:element name="include" type="xsd:string"  />
        <!-- -->
        <xsd:element name="exception">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="field" minOccurs="1" type="xsd:string">
                <xsd:complexType>
                  <xsd:attribute name="name" type="xsd:string" use="required" />
                  <xsd:attribute name="type" type="xsd:string" use="required" />
                </xsd:complexType>
            </xsd:sequence>
          <xsd:complexType>
          <xsd:attribute name="name" type="xsd:string" use="required" />
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
Сообщ. #906182
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 9:50