2016-12-10 6 views
0

Я пытаюсь работать над своим файлом XML/XSD, но все же страница онлайн-проверки неверна со мной. Вы можете мне немного помочь? Спасибо.XSD - не удалось завершить проверку

Полный текст моего XSD-файла. Prolem является:

S4S-ELT-инвалид-content.1: Содержание '#AnonType_adresar' является недействительным. Элемент «элемент» недействителен, неуместен или встречается слишком часто. линия 5.

<?xml version="1.0" encoding="UTF-8"?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="adresar"> 
     <xsd:complexType> 
       <xsd:element name="osoba" minOccurs="0"> 
        <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="jmeno" type="xsd:string"/> 
         <xsd:element name="prijmeni" type="xsd:string"/> 
         <xsd:complexType> 
         <xsd:element name="email" type="xsd:string" minOccurs="0"> 
          <xsd:attribute name="typ" type="at_type" use="required"/> 
         </xsd:element> 
         </xsd:complexType> 
         <xsd:complexType> 
         <xsd:element name="telefon" type="xsd:positiveInteger" minOccurs="0"> 
          <xsd:attribute name="typ" type="at_type" use="required"/> 
         </xsd:element> 
         </xsd:complexType> 
         <xsd:complexType> 
         <xsd:element name="web" type="xsd:string" minOccurs="0"> 
          <xsd:attribute name="typ" type="at_type" use="required"/> 
         </xsd:element> 
         </xsd:complexType> 
         <xsd:complexType> 
         <xsd:element name="jiny" type="xsd:string" minOccurs="0"> 
          <xsd:attribute name="jmeno" type="xsd:string" use="required"/> 
         </xsd:element> 
         </xsd:complexType> 
        <xsd:element name="adresa" type="adresa_type" minOccurs="0"/> 
        <xsd:element name="poznamka" type="xsd:string" minOccurs="0"/> 
        </xsd:sequence> 
        </xsd:complexType> 
       </xsd:element> 
     </xsd:complexType> 
    </xsd:element> 

    <xsd:complexType name="adresa_type"> 
     <xsd:sequence> 
      <xsd:element name="ulice" type="xsd:string"/> 
      <xsd:element name="cislopop" type="xsd:positiveInteger"/> 
      <xsd:element name="psc" type="xsd:positiveInteger"/> 
      <xsd:element name="mesto" type="xsd:string"/> 
     </xsd:sequence> 
    </xsd:complexType> 

    <xsd:simpleType name="at_type"> 
     <xsd:restriction base="xsd:string"> 
      <xsd:enumeration value="osobni"/> 
      <xsd:enumeration value="pracovni"/> 
      <xsd:enumeration value="jiny"/> 
     </xsd:restriction> 
    </xsd:simpleType> 
</xsd:schema> 

ответ

2

Есть только слишком много ошибок в вашей схеме, я бы даже не знаю, с чего начать.

Тот, о ком вы сообщаете, составляет xsd:element, который вы разместили прямо в xsd:complexType. Добавить промежуточный xsd:sequence.

Далее вы не объявляете сложный тип в последовательности. Вы не размещаете атрибуты внутри элементов (для этого вам нужен сложный тип с простым контентом и атрибутом).

Я предлагаю начать с XSD Primer. Это намного лучше, чем синтаксис вслепую.

Смежные вопросы