Validatore XML / XSD
Lato serverEsempi
Risultato della convalida
Schema XSD
Documento XML
Dettagli tecnici
Come funziona il validatore XML / XSD
Cosa fa lo strumento
Questo validatore XML XSD verifica i documenti XML rispetto alle definizioni di XML Schema usando elaborazione lato server. Lo strumento valida struttura, tipi di dati, ordine degli elementi e requisiti degli attributi definiti nel tuo schema. Quando la validazione fallisce, segnala errori specifici con numeri di riga e colonna quando disponibili. Il validatore gestisce namespace, tipi complessi, vincoli di sequenza e facet dello schema come il pattern matching e le restrizioni di valore.
Esempio: validazione del catalogo libri
Considera questo schema XSD che richiede che i libri abbiano ID interi e prezzi decimali:
<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 non valido come <book id="abc"><price>not-a-number</price></book> fallirebbe la validazione con errori di vincolo di tipo sia per l’attributo ID sia per l’elemento price.
Casi d’uso comuni
Gli sviluppatori usano la validazione XML Schema quando integrano API SOAP, validano file di configurazione o elaborano formati di scambio dati. Scenari comuni includono la validazione delle risposte API rispetto a schemi pubblicati, il controllo dei file di configurazione prima del deployment e la garanzia della qualità dei dati nelle pipeline ETL. Il validatore è particolarmente utile per individuare mismatch di tipo, elementi obbligatori mancanti e ordine degli elementi errato prima che i dati arrivino ai sistemi di produzione.
Motore di validazione e limitazioni
Questo strumento usa libxml2 tramite il binding Node.js libxmljs, fornendo conformità a XML Schema 1.0. Il validatore elabora gli schemi interamente lato server per sicurezza e non recupera risorse esterne né risolve import basati su rete. L’elaborazione di entità esterne (XXE) è disabilitata per sicurezza. Gli include e gli import dello schema funzionano solo se tutti gli schemi referenziati sono forniti nel contenuto XSD principale.
- Accesso alla rete:Bloccato per sicurezza
- Import dello schema:Devono essere inline, nessuna risoluzione esterna
- Entità esterne:Disabilitate (protezione XXE)
- Limiti di elaborazione:Si applicano limiti di dimensione ragionevoli
Elaborazione lato server vs lato client
I controlli di correttezza sintattica (well-formedness) dell’XML lato client sono sufficienti per una validazione di base della sintassi. Tuttavia, la validazione XSD richiede un motore specializzato perché i browser non includono processori di XML Schema. La validazione lato server garantisce risultati coerenti, gestisce funzionalità complesse dello schema come ereditarietà e importazioni e fornisce isolamento di sicurezza rispetto a contenuti XML potenzialmente malevoli.