Вопрос

Мне было поручено построить XSD для проверки данного XML, моя проблема заключается в том, что некоторые из элементов XML имеют форму

<ElementName description="i am an element">1234567</ElementName>
.

Мне нужно построить XSD, который проверяет элемент «значение», а не атрибут, так что моему неслуженному ограниченному опыту в создании XSDS (я прочитал учебник W3C), я попробовал это

<xs:element name ="ElementName" type="xs:int">
    <xs:complexType mixed="true">
         <xs:attribute name="description" type="xs:string"/>
    </xs:complexType>
</xs:element>
.

и вот и вот ... это не работает, он говорит:

"атрибут типа не может присутствовать с помощью SimpleType или CompareyType"

Я уверен, что это какое-то глупое, я сделал, но не смог найти ответ / неверно истолковывать ответы в другом месте!

Спасибо заранее

Это было полезно?

Решение

Смешанные типы - это что-то другое.Вам нужен комплексной тип с простым контентом:

<xs:element name="ElementName">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:int">
        <xs:attribute name="description" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
.

Смотрите также:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top