Валідатор зустрів дочірній елемент, який неможливо прийняти в поточній позиції батька. Розмітка може залишатися синтаксично правильною: порушено модель вмісту зі схеми, а не правила закриття тегів XML.
Що повідомлення означає буквально
Фраза starting with element називає перший перехід, який не відповідає очікуваній моделі. Перелік очікуваних назв описує дозволене продовження саме тут, а не всі оголошення проєкту. У зразку quantity має стояти перед price; перестановка зберігає обидва значення й виправляє послідовність.
Три поширені причини для перевірки
Серіалізатор записує поля в порядку, відмінному від xs:sequence. Алфавітне сортування властивостей може утворити правильні теги в неправильних позиціях.
Пропущено обов’язковий попередній елемент. Додавання очікуваного поля наприкінці не допоможе, якщо його місце перед названим вузлом.
Не збігаються простір імен, написання або батьківський контейнер. Оголошення схожого елемента в сусідньому типі не дозволяє його всюди.
Виправлення та повторна перевірка
Знайдіть оголошення батька й пройдіть модель від першої дитини. Порівнюйте фактичні вузли з xs:sequence або вибраною гілкою xs:choice до найпершої невідповідності. Виправте порядок у джерелі експорту, після чого перевірте весь документ: початкове порушення іноді приховує наступні помилки, які стають видимими лише після його усунення.
Коли причина у просторі імен
Коли локальна назва вже збігається з очікуваною, порівняйте разом URI простору імен і local-name. Враховуйте успадкований xmlns та скидання xmlns="". Зміна префікса зі збереженням URI не змінює ідентичність елемента; видалення префікса без відповідного default namespace може її змінити.
Як зіставляти звіти рушіїв
System.Xml.Schema називає цей виміряний випадок has invalid child element, а libxml2 — This element is not expected. Нижче залишено буквальні результати запуску. Не замінюйте сувору послідовність на xs:any лише заради успіху перевірки: система одержувача все ще може потребувати початкового порядку полів.
Повні перевірені пари XML та XSD
Відкрийте потрібний варіант у редакторі й натисніть Validate XML. Завантаження прикладу не запускає перевірку та не надсилає документи; серверний режим потребує окремої згоди.
cvc-complex-type.2.4.a: Invalid content was found starting with element 'price'. One of '{quantity}' is expected.
PASS
.NET 8.0.33 · System.Xml.Schema Validation
The element 'order' has invalid child element 'price'. List of possible elements expected: 'quantity'.
PASS (no warnings)
XSDHub libxml2/WASM 0.7.2 Validation
Element 'price': This element is not expected. Expected is ( quantity ).
PASS
XSDHub xmlschema 4.3.1 · XSD 1.0 Validation
Unexpected child with tag 'price' at position 1. Tag 'quantity' expected.
PASS
Saxon
Зіставлення з EE: cvc-complex-type.2.4.a позначає відповідне обмеження XSD. Запуск Saxon-EE та буквальне формулювання не заявлено: ліцензія EE недоступна. Saxon-HE не виконує XSD-валідацію.