Ошибка компиляции с «датой ограничения» XSD - PullRequest
0 голосов
/ 12 февраля 2019

Я на самом деле застрял на домашней работе с датой атрибута xsd, где я хочу установить ограничения minInclusive и maxInclusive.Вот мой код (Моя проблема перед: <--------): </p>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema%22%3E
   <xsd:element name="cdtheque">
     <xsd:complexType> <xsd:sequence minOccurs="0">
        <xsd:element name="cd">
          <xsd:complexType>
            <xsd:all>
               <xsd:element name="titre" type="xsd:string"/>
               <xsd:element name="style" type="xsd:string"/>
               <xsd:element name="artiste" type="xsd:string"/>
             </xsd:all>
           </xsd:complexType>
         </xsd:element>
       </xsd:sequence>
        <xsd:attribute type="xsd:date" name="date">   <--------
          <xsd:simpleType>
          <xsd:restriction base="xsd:date">  
            <xsd:minInclusive value="1990-01-01"/>
            <xsd:maxInclusive value="2030-01-01"/>
          </xsd:restriction>
        </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute type="xsd:string" name="proprietaire"/>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>

И я получаю эту ошибку:

xmllint --noout --schema ex3schema.xsd ex3.xml
ex3schema.xsd:15: element restriction: Schemas parser error : 
Element '{http://www.w3.org/2001/XMLSchema%7Dattribute': 
The content is not valid. Expected is (annotation?, simpleType?).
WXS schema ex3schema.xsd failed to compile

I 'Я начинающий, но я смотрел на многих интернет-сайтах, так как несколько дней назад, я снова и снова проверял синтаксис на W3S.Тем не менее, я не понимаю, что не так с моим кодом, может, кто-то из вас может это выяснить?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 12 февраля 2019

Ваш элемент xsd:attribute имеет атрибут type и дочерний элемент xsd:simpleType.Вы не можете иметь оба.

Не очень хорошее сообщение об ошибке.Когда вы получаете плохое сообщение об ошибке, стоит попробовать другой процессор схемы.

Xerces говорит:

Атрибут 'date' имеет как атрибут 'type', так и анонимный 'simpleType 'child.Только один из них разрешен для атрибута.

Саксон говорит:

Ошибка в xsd:attribute в строке 14 столбца 56 test.xsd: A <simpleType>элемент не должен быть дочерним по отношению к <xsd:attribute> с атрибутом @type

Я думаю, что с любым из этих сообщений вы не зададите вопрос здесь.

...