Родина s4s стосується перевірок schema-for-schemas: валідатор читає XSD із неправильним словником або розташуванням конструкцій. Це трапляється до звичайної перевірки екземпляра, навіть коли XML повністю відповідає задуму автора контракту.
Що повідомлення означає буквально
Три виміряні підвипадки потребують різних правок. s4s-elt-invalid-content.1 відхиляє complexTyp верхнього рівня. s4s-elt-must-match.1 відхиляє xs:element безпосередньо всередині іншого xs:element. s4s-elt-must-match.2 указує, що порожньому xs:simpleType бракує restriction, list або union. Суфікс залежить від контексту, а не лише від друкарської помилки.
Три поширені причини для перевірки
Ключове слово XSD має помилку, неправильний регістр або namespace. complexTyp не є конструкцією схеми, хоча файл залишається правильним XML.
Правильна конструкція перебуває під невідповідним батьком або в неправильному порядку. Оголошення дочірнього елемента потребує відповідного complexType та моделі вмісту.
Пропущено обов’язкову дитину схеми або застосовано можливість іншої версії XSD. Порожній каркас не завжди є допустимим завершеним типом.
Виправлення та повторна перевірка
Використовуйте позицію в схемі, а не шукайте помилку в екземплярі XML. Порівняйте названого батька з дозволеними конструкціями та виправте написання, вкладення або відсутній вміст. Після кожної структурної правки знову компілюйте XSD, адже пізніші повідомлення можуть походити від уже пошкодженої граматики. Зразки додають обгортку complexType/sequence чи рядковий restriction, залишаючи дані екземпляра незмінними.
Коли причина у просторі імен
Усі xs-конструкції мають посилатися точно на http://www.w3.org/2001/XMLSchema. Зміна default namespace екземпляра не виправляє ключове слово XSD. Елементи, схожі на оголошення, але створені в namespace застосунку, не визначають компонентів схеми. Якщо словник виглядає правильним, перевірте прив’язку простору імен у самому файлі.
Як зіставляти звіти рушіїв
Не кожному можливому суфіксу потрібна окрема коротка сторінка. Тут збережено три відтворені діагностики та три повні виправлення. Інші назви, зокрема s4s-elt-schema-ns та s4s-elt-character, описують споріднені умови авторства схеми, проте цей матеріал не заявляє їх окремого виміряного запуску.
Повні перевірені пари XML та XSD
Відкрийте потрібний варіант у редакторі й натисніть Validate XML. Завантаження прикладу не запускає перевірку та не надсилає документи; серверний режим потребує окремої згоди.
s4s-elt-invalid-content.1: The content of 'schema' is invalid. Element 'complexTyp' is invalid, misplaced, or occurs too often.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
The 'http://www.w3.org/2001/XMLSchema:complexTyp' element is not supported in this context.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}schema': The content is not valid. Expected is ((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
Unexpected child with tag 'xs:complexTyp' at position 2:
Schema component:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item" />
<xs:complexTyp name="Empty" />
</xs:schema>
Path: /xs:schema
Schema URL: schema.xsd
PASS
Saxon
Зіставлення з EE: s4s-elt-invalid-content.1 позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.
s4s-elt-must-match.1: The content of 'item' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: element.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
The 'http://www.w3.org/2001/XMLSchema:element' element is not supported in this context.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
Unexpected child with tag 'xs:element' at position 1:
Schema component:
<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="item">
<xs:element name="child" type="xs:string" />
</xs:element>
Path: /xs:schema/xs:element
Schema URL: schema.xsd
PASS
Saxon
Зіставлення з EE: s4s-elt-must-match.1 позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.
s4s-elt-must-match.2: The content of 'simpleType' must match (annotation?, (restriction | list | union)). Not enough elements were found.
PASS
.NET 8.0.33 · System.Xml.Schema XSD
SimpleType content is missing.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 XSD
Element '{http://www.w3.org/2001/XMLSchema}simpleType': The content is not valid. Expected is (annotation?, (restriction | list | union)).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 XSD
The content of element 'xs:simpleType' is not complete. Tag ('xs:restriction' | 'xs:list' | 'xs:union') expected:
Schema component:
<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" />
Path: /xs:schema/xs:element/xs:simpleType
Schema URL: schema.xsd
PASS
Saxon
Зіставлення з EE: s4s-elt-must-match.2 позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.