оба блока могут находиться в совершенно разных местах вашей схемы. Важный момент заключается только в следующем: вы не можете смешивать наследование и атрибуцию в одном и том же определении элемента.

ема заключается в следующем:

У меня есть следующий фрагмент XML:

<time format="minutes">11:60</time>

Проблема в том, что я не могу добавить и атрибут, и ограничение одновременно. Формат атрибута может иметь только значения минут, часов и секунд. Время имеет ограничение образца\d{2}:\d{2}

<xs:element name="time" type="timeType"/>
...
<xs:simpleType name="formatType">
<xs:restriction base="xs:string">
    <xs:enumeration value="minutes"/>
    <xs:enumeration value="hours"/>
    <xs:enumeration value="seconds"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="timeType">
    <xs:attribute name="format">
        <xs:simpleType>
            <xs:restriction base="formatType"/>
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>

Если я создаю сложный тип timeType, я могу добавить атрибут, но не ограничение, и если я создаю простой тип, я могу добавить ограничение, но не атрибут. Есть ли способ обойти эту проблему. Это не очень странное ограничение или нет?

Ответы на вопрос(2)

Ваш ответ на вопрос