Validator XSD
Un documento XML ben formato può comunque essere errato: mancanza di un elemento richiesto, utilizzo del tipo di dato errato per un attributo o elementi in ordine sbagliato. L’XSD (XML Schema Definition) descrive esattamente come dovrebbe apparire il documento. Questo validatore abbina il tuo XML al suo XSD, esegue il validatore di schema XML W3C e elenca ogni violazione con riga, elemento e il vincolo specifico che è stato infranto.
Come validare XML rispetto a XSD
-
1
Incolla entrambi i file
XML da un lato, schema XSD dall'altro. È possibile incollare più schemi insieme.
-
2
Esegui la validazione
Il parser abbina elementi, attributi e tipi rispetto alle dichiarazioni dello schema.
-
3
Esamina gli errori
Ogni violazione mostra il percorso dell'elemento, il vincolo atteso e il valore effettivo.
-
4
Correggi e rivalida
Modifica in loco e riesegui senza ricaricare.
Cosa controlla XSD
- Nomi ed cardinalità degli elementi: richiesti, opzionali, occorrenze min/max.
- Ordine degli elementi: sequenza, scelta, tutti.
- Presenza e tipo degli attributi: richiesti vs opzionali, valori predefiniti, valori fissi.
- Tipi di dati:
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, personalizzati. - Restrizioni: lunghezza min/max, enumerazioni, modelli regex, valori min/max.
- Integrità referenziale:
xs:key,xs:keyref,xs:uniqueper vincoli tra elementi.
Errori tipici
| Errore | Vincolo XSD |
|---|---|
Elemento richiesto <email> mancante |
minOccurs="1" |
Troppi elementi <phone> |
maxOccurs="2" superato |
| Il valore “abc” non è un intero valido | type="xs:integer" |
| Il valore “[email protected]” non corrisponde al modello | xs:pattern su xs:string |
| Elementi fuori ordine | xs:sequence |
Elemento sconosciuto <foo> |
Non dichiarato nello schema |
| Chiave duplicata | Violazione xs:unique |
Scegliere tra XSD e alternative
- XSD: standard W3C, verboso, potente, ampiamente supportato. Prima scelta per XML aziendale.
- RELAX NG: sintassi più semplice, altrettanto espressivo. Popolare nei formati di documentazione (DocBook, TEI).
- Schematron: basato su regole, esegue asserzioni XPath contro il documento. Buono per regole aziendali oltre la struttura.
- DTD: più vecchio, molto meno espressivo. Ancora in uso per compatibilità storica con HTML.
Molti progetti utilizzano XSD per la struttura e Schematron per regole complesse tra campi.
Problemi comuni
- I namespace devono corrispondere. Se l’XSD dichiara
targetNamespace="http://example.com"ma l’XML non utilizza quel namespace, la validazione fallisce con “nessuna dichiarazione trovata”. - xs:anyType non è una fuga magica. Corrisponde a qualsiasi cosa ma non fornisce alcuna validazione.
- I valori predefiniti si applicano solo quando l’attributo è assente. Un valore esplicito vuoto (
attr="") non ottiene il predefinito. - La gestione degli spazi bianchi varia in base al tipo.
xs:stringli preserva,xs:tokenli riduce,xs:normalizedStringsostituisce tabulazioni/nuove righe con spazi.
Flusso di lavoro per il debug
- Valida senza schema prima (controllo di ben formata). Correggi eventuali errori di analisi.
- Poi valida rispetto allo schema.
- Concentrati sul primo errore. I validatori XSD a volte generano errori a cascata; il primo è solitamente il più azionabile.
- Usa XPath per localizzare l’elemento problematico in documenti di grandi dimensioni.
Domande frequenti
No. Incollali separatamente o fai riferimento allo schema tramite xsi:schemaLocation nell’XML. La maggior parte degli strumenti supporta entrambi gli approcci.
Sì. Quando appaiono elementi di diversi namespace, ciascuno ha bisogno del proprio schema. Incolla tutti; il validatore li carica tutti.
XSD 1.0. Il motore libxml sottostante non implementa XSD 1.1, quindi le funzionalità esclusive della 1.1 come le asserzioni, i tipi condizionali e il contenuto aperto non vengono applicate.
No. Il tuo XML e lo schema vengono inviati al server solo per eseguire la validazione di quella singola richiesta; non vengono memorizzati né registrati in seguito.
Strumenti correlati
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Convertitore da Markdown a BBCode
Converti documenti Markdown in BBCode per phpBB, vBulletin e software per forum che accetta solo la formattazione BBCode.
Convertitore da INI a YAML
Converti file di configurazione INI in YAML. Le sezioni diventano mappature, i valori sono preservati come stringhe. Pronto per Helm, Ansible e pipeline CI.
Visualizzatore Markdown
Scrivi Markdown e guarda l'HTML renderizzato aggiornarsi in tempo reale. Sintassi in stile GitHub con tabelle, elenchi di attività, codice racchiuso e autolink.
Generatore di Meta Tag
Crea un frammento completo `<head>` con titolo, descrizione, Open Graph, Twitter Card, tag canonici e robots da un semplice modulo.
Strumento disponibile in altre lingue
- XSD-Validator [DE]
- Validador XSD [PT]
- Bộ xác thực XSD [VI]
- XSD-validerare [SV]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- Validador XSD [ES]
- XSDバリデーター [JA]
- مُحقق تنسيق XSD [AR]
- Validateur XSD [FR]
- XSD-validator [NL]
- Walidator XSD [PL]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]