DevToys Web Pro iconDevToys Web ProBlog
Evaluează-ne:
Încearcă extensia de browser:

Validator XML / XSD

Pe server

Exemple

Rezultatul validării

Se încarcă validarea...

Schemă XSD

  • Document XML

  • Loading editor...
    Loading editor...
    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 &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt;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.