DevToys Pro

бесплатные веб-инструменты для разработчиков

Блог
Оцените нас:
Попробуйте расширение для браузера:

XML / XSD валидатор

Серверная обработка

Примеры

Результат валидации

Загрузка валидации...

XSD Схема

  • XML Документ

  • Loading editor...
    Loading editor...
    Технические детали

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

    Что делает инструмент

    Этот валидатор XML XSD проверяет XML‑документы на соответствие XML Schema (XSD), используя серверную обработку. Инструмент валидирует структуру, типы данных, порядок элементов и обязательность атрибутов в соответствии с вашей схемой. При ошибках валидации он выдаёт конкретные сообщения об ошибках с указанием строки и столбца, когда это возможно. Валидатор обрабатывает пространства имён, сложные типы, последовательности (sequence) и ограничения схемы, такие как шаблоны (pattern) и ограничение значений.

    Пример: валидация каталога книг

    Рассмотрим XSD‑схему, требующую, чтобы книги имели целочисленные ID и цены типа decimal:

    <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 вроде <book id="abc"><price>not-a-number</price></book> не пройдёт валидацию из‑за нарушений типов как у атрибута id, так и у элемента price.

    Типичные случаи использования

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

    Движок валидации и ограничения

    Инструмент использует libxml2 через Node.js‑обёртку libxmljs, обеспечивая соответствие XML Schema 1.0. Валидация выполняется полностью на сервере в целях безопасности; инструмент не загружает внешние ресурсы и не разрешает сетевые импорты схем. Обработка внешних сущностей (XXE) отключена. Включения и импорты схем работают только в том случае, если все используемые XSD‑файлы предоставлены в основном содержимом схемы.

    • Сетевой доступ: отключён из соображений безопасности
    • Импорты схем: только inline, без внешнего разрешения
    • Внешние сущности: отключены (защита от XXE)
    • Ограничения обработки: действуют разумные пределы по размеру

    Серверная vs клиентская обработка

    Клиентская проверка XML на well-formed достаточно для базовой проверки синтаксиса. Однако для валидации по XSD требуется специализированный движок, так как браузеры не содержат встроенных процессоров XML Schema. Серверная валидация обеспечивает единообразные результаты, поддерживает сложные возможности схем (наследование, импорты) и даёт уровень изоляции от потенциально вредоносного XML‑контента.