Validátor XML / XSD
Na straně serveruUkázky
Výsledek validace
Schéma XSD
Dokument XML
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 <book id="abc"><price>not-a-number</price></book> 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.