DevToys Web Pro iconDevToys Web ProБлог
Оценете ни:
Изпробвайте разширението за браузър:

Валидатор на XML / XSD

От страна на сървъра

Примери

Резултат от валидирането

Зареждане на проверката...

XSD схема

  • XML документ

  • Loading editor...
    Loading editor...
    Технически подробности

    Как работи XML / XSD валидаторът

    Какво прави инструментът

    Този XML XSD валидатор проверява XML документи спрямо дефиниции на XML Schema чрез сървърна обработка. Инструментът валидира структурата, типовете данни, подредбата на елементите и изискванията за атрибутите, дефинирани във вашата схема. Когато валидирането се провали, той докладва конкретни грешки с номера на ред и колона, когато са налични. Валидаторът обработва namespace-и, сложни типове, ограничения за последователност и facets на схемата като съвпадение по шаблон и ограничения на стойности.

    Пример: Валидиране на каталог с книги

    Разгледайте тази XSD схема, която изисква книгите да имат целочислени ID-та и десетични цени:

    <xs:element name="book">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="title" type="xs:string"/>
                <xs:element name="price" type="xs:decimal"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:integer" use="required"/>
            </xs:complexType>
          </xs:element>

    Невалиден XML като &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt;би се провалил при валидирането с грешки за ограничения на типа както за атрибута ID, така и за елемента price.

    Често срещани случаи на употреба

    Разработчиците използват валидиране по XML Schema при интеграция със SOAP API, валидиране на конфигурационни файлове или обработка на формати за обмен на данни. Чести сценарии включват валидиране на API отговори спрямо публикувани схеми, проверка на конфигурационни файлове преди деплой и гарантиране на качество на данните в ETL пайплайни. Валидаторът е особено полезен за улавяне на несъответствия в типовете, липсващи задължителни елементи и неправилна подредба на елементите, преди данните да достигнат продукционни системи.

    Енджин за валидиране и ограничения

    Този инструмент използва libxml2 чрез Node.js binding-а libxmljs, осигурявайки съответствие с XML Schema 1.0. Валидаторът обработва схемите изцяло на сървърната страна за сигурност и не извлича външни ресурси и не разрешава импорти, базирани на мрежа. Обработката на външни ентитети (XXE) е изключена за безопасност. Schema include и import работят само ако всички реферирани схеми са предоставени в основното XSD съдържание.

    • Мрежов достъп:Блокиран за сигурност
    • Импорти на схеми:Трябва да са inline, без външно резолвиране
    • Външни ентитети:Изключени (XXE защита)
    • Ограничения за обработка:Прилагат се разумни ограничения за размер

    Обработка от страна на сървъра срещу обработка от страна на клиента

    Проверките за правилна формалност (well-formedness) на XML от страна на клиента са достатъчни за базова валидация на синтаксиса. Въпреки това, XSD валидацията изисква специализиран механизъм, тъй като браузърите не включват процесори за XML Schema. Валидацията от страна на сървъра гарантира последователни резултати, обработва сложни функции на схемата като наследяване и импорти и осигурява изолация на сигурността от потенциално злонамерено XML съдържание.