XML-validator
Controleer of een XML-document goed gevormd is voordat u een feed, sitemap, SVG of configuratiebestand publiceert. De validator controleert tags, attributen, nesting en tekens en meldt het eerste probleem met de regel, kolom en uitleg van de parser, bijvoorbeeld een afsluitende tag die niet overeenkomt. Bij goed gevormde documenten worden het root-element, het aantal elementen en attributen en de nestingdiepte weergegeven. De validator controleert of het document goed gevormd is, niet of het aan DTD- of XSD-regels voldoet.
Veelgestelde vragen
Wat is het verschil tussen goed gevormde XML en geldige XML?
Goed gevormde XML volgt de basisregels voor syntaxis: één root-element, correct geneste en gesloten tags en correct tussen aanhalingstekens geplaatste attributen. Geldige XML voldoet daarnaast aan een DTD of XML Schema waarin staat welke elementen zijn toegestaan. Deze tool controleert of het document goed gevormd is; elke XML-parser vereist dit voordat er iets anders gebeurt.
Wat wordt er precies gecontroleerd?
De validator controleert of er precies één root-element is, of elke tag in de juiste volgorde wordt gesloten, of tag- en attribuutnamen zijn toegestaan, of attribuutwaarden tussen aanhalingstekens staan en niet dubbel voorkomen, en of er geen losse tekens buiten elementen staan. De XML-declaratie, opmerkingen, CDATA-secties en verwerkingsinstructies zijn toegestaan.
Wat betekenen de fouttypen?
Fouten vallen in vier groepen: documentstructuur, tags, attributen en tekens. De foutregel noemt de groep in gewone taal en de detailregel geeft de exacte uitleg van de parser, bijvoorbeeld welke tag werd verwacht. Bij beide worden de regel en kolom van het probleem vermeld.
Waarom wordt een attribuut zonder waarde afgewezen?
HTML staat booleaanse attributen zoals <input disabled> toe, maar XML vereist dat elk attribuut een waarde tussen aanhalingstekens heeft. Schrijf disabled="disabled" of verwijder het attribuut. Dezelfde regel geldt voor SVG- en XHTML-bestanden.
Kan ik hiermee HTML valideren?
Alleen XHTML, dat HTML is geschreven als XML. Gewone HTML sluit elementen zoals <br> of <img> niet af en staat attributen zonder aanhalingstekens toe. Dat is bij XML niet toegestaan, waardoor het document meestal als niet goed gevormd wordt gemeld.
Worden DOCTYPE-declaraties en entiteiten ondersteund?
Een DOCTYPE met entiteitsdeclaraties wordt geaccepteerd als onderdeel van de syntaxiscontrole, maar entiteiten worden nooit uitgebreid en er worden geen externe bestanden opgehaald. Zo blijft de controle snel en beschermd tegen aanvallen met entiteitsuitbreiding. De vooraf gedefinieerde entiteiten zoals & en < zijn altijd toegestaan.
Worden naamruimten ondersteund?
Namen met een prefix, zoals svg:rect of xsi:schemaLocation, worden geaccepteerd als element- en attribuutnamen. De validator zoekt de URI's van naamruimten niet op en controleert niet of elke prefix is gedeclareerd.
Wat laten de statistieken van een geldig document zien?
Het root-element is de buitenste tag. Elements telt elk element, inclusief het root-element, en Attributes telt alle attributen in het document. Maximum depth is het diepste nestingniveau, waarbij het root-element niveau 1 is. Deze cijfers helpen bevestigen dat een feed of export bevat wat u verwacht.
Hoe worden regelnummers en kolomnummers geteld?
Beide beginnen bij 1 aan het begin van de invoer. De positie geeft aan waar de parser het probleem opmerkte; bij een niet-afgesloten tag kan dat de openingstag zelf zijn. Alleen de eerste fout wordt gemeld.
Hoe groot mag het XML-document zijn en kan ik het converteren?
Invoer kan maximaal 5 MiB groot zijn. Gebruik de Data Format Converter of de tool XML naar JSON om een goed gevormd document om te zetten naar JSON, YAML, CSV of een ander formaat.