Validator XML / XSD
Pe serverExemple
Rezultatul validării
Schemă XSD
Document XML
Detalii tehnice
Cum funcționează validatorul XML / XSD
Ce face instrumentul
Acest validator XML XSD verifică documentele XML față de definiții XML Schema folosind procesare pe server. Instrumentul validează structura, tipurile de date, ordinea elementelor și cerințele pentru atribute definite în schema ta. Când validarea eșuează, raportează erori specifice cu numere de linie și coloană atunci când sunt disponibile. Validatorul gestionează namespace-uri, tipuri complexe, constrângeri de secvență și fațete de schemă precum potrivirea de tip pattern și restricții de valori.
Exemplu: Validarea unui catalog de cărți
Ia în considerare această schemă XSD care cere ca cărțile să aibă ID-uri întregi și prețuri zecimale:
<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>Un XML invalid precum <book id="abc"><price>not-a-number</price></book>ar eșua la validare cu erori de constrângere de tip atât pentru atributul ID, cât și pentru elementul price.
Cazuri de utilizare frecvente
Dezvoltatorii folosesc validarea XML Schema când se integrează cu API-uri SOAP, validează fișiere de configurare sau procesează formate de schimb de date. Scenariile comune includ validarea răspunsurilor API față de scheme publicate, verificarea fișierelor de configurare înainte de deployment și asigurarea calității datelor în pipeline-uri ETL. Validatorul este deosebit de util pentru a depista nepotriviri de tip, lipsa elementelor obligatorii și ordonarea incorectă a elementelor înainte ca datele să ajungă în sistemele de producție.
Motorul de validare și limitări
Acest instrument folosește libxml2 prin binding-ul Node.js libxmljs, oferind conformitate cu XML Schema 1.0. Validatorul procesează schemele integral pe server pentru securitate și nu preia resurse externe și nu rezolvă importuri bazate pe rețea. Procesarea entităților externe (XXE) este dezactivată pentru siguranță. Include-urile și importurile de schemă funcționează doar dacă toate schemele referite sunt furnizate în conținutul XSD principal.
- Acces la rețea:Blocat din motive de securitate
- Importuri de schemă:Trebuie să fie inline, fără rezolvare externă
- Entități externe:Dezactivate (protecție XXE)
- Limite de procesare:Se aplică limite rezonabile de dimensiune
Procesare pe server vs procesare pe client
Verificările de bună formare XML pe partea de client sunt suficiente pentru validarea de bază a sintaxei. Totuși, validarea XSD necesită un motor specializat, deoarece browserele nu includ procesoare pentru XML Schema. Validarea pe server asigură rezultate consecvente, gestionează funcționalități complexe ale schemei, precum moștenirea și importurile, și oferă izolare de securitate față de conținut XML potențial malițios.