DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyzkoušejte rozšíření pro prohlížeč:

Validátor XML / XSD

Na straně serveru

Ukázky

Výsledek validace

Načítání ověření...

Schéma XSD

  • Dokument XML

  • Loading editor...
    Loading editor...
    Technické detaily

    Jak funguje validátor XML / XSD

    Co nástroj dělá

    Tento validátor XML XSD kontroluje XML dokumenty vůči definicím XML Schema pomocí zpracování na straně serveru. Nástroj validuje strukturu, datové typy, pořadí elementů a požadavky na atributy definované ve vašem schématu. Když validace selže, nahlásí konkrétní chyby s čísly řádků a sloupců, pokud jsou k dispozici. Validátor pracuje s jmennými prostory, komplexními typy, omezeními sekvencí a facetami schématu, jako je porovnávání podle vzoru a omezení hodnot.

    Příklad: Validace katalogu knih

    Zvažte toto XSD schéma, které vyžaduje, aby knihy měly celočíselná ID a desetinné ceny:

    <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>

    Neplatné XML jako &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt; by při validaci selhalo s chybami omezení typu jak pro atribut ID, tak pro element price.

    Běžné případy použití

    Vývojáři používají validaci XML Schema při integraci se SOAP API, validaci konfiguračních souborů nebo zpracování formátů pro výměnu dat. Mezi běžné scénáře patří validace odpovědí API vůči publikovaným schématům, kontrola konfiguračních souborů před nasazením a zajištění kvality dat v ETL pipeline. Validátor je obzvlášť užitečný pro zachycení neshod typů, chybějících povinných elementů a nesprávného pořadí elementů dříve, než se data dostanou do produkčních systémů.

    Validační engine a omezení

    Tento nástroj používá libxml2 prostřednictvím Node.js bindingu libxmljs a poskytuje shodu s XML Schema 1.0. Validátor zpracovává schémata kompletně na straně serveru z bezpečnostních důvodů a nestahuje externí zdroje ani neřeší importy založené na síti. Zpracování externích entit (XXE) je z bezpečnostních důvodů vypnuto. Include a import ve schématu fungují pouze tehdy, pokud jsou všechna odkazovaná schémata poskytnuta v hlavním obsahu XSD.

    • Přístup k síti:Blokováno z bezpečnostních důvodů
    • Importy schémat:Musí být inline, bez externího rozlišení
    • Externí entity:Vypnuto (ochrana XXE)
    • Limity zpracování:Platí rozumné limity velikosti

    Zpracování na straně serveru vs. na straně klienta

    Kontroly správné formovanosti XML na straně klienta jsou dostačující pro základní ověření syntaxe. Validace XSD však vyžaduje specializovaný engine, protože prohlížeče neobsahují procesory XML Schema. Validace na straně serveru zajišťuje konzistentní výsledky, zvládá komplexní vlastnosti schématu, jako je dědičnost a importy, a poskytuje bezpečnostní izolaci od potenciálně škodlivého obsahu XML.