XML-formatter

Geminificeerde XML-dumps van SOAP-diensten, RSS-feeds en configuratie-exports zijn op één regel onleesbaar. Deze formatter parseert het document, bouwt het opnieuw op met consistente inspringing (2 of 4 spaties, tabs, of geen inspringing voor geminificeerde uitvoer), behoudt de attribuutvolgorde en CDATA-secties, en meldt elk welgevormdheidsprobleem met de exacte regel en kolom, zodat u niet-overeenkomende tags kunt herstellen zonder te zoeken.

XML opmaken

  1. 1

    XML plakken

    Elke lengte, elke codering; de declaratie blijft behouden.

  2. 2

    Inspringing kiezen

    Spaties (2 of 4), tabs of minificeren.

  3. 3

    Opmaken

    De parser bouwt een DOM op en serialiseert die vervolgens opnieuw met consistente afstand.

  4. 4

    Resultaat kopiëren

    De uitvoer is welgevormde XML, klaar om in logs of documenten te plakken.

Wat de opmaak behoudt

  • XML-declaratie (<?xml version="1.0" encoding="UTF-8"?>) wordt letterlijk behouden.
  • DOCTYPE-declaraties en interne subsets blijven behouden.
  • Verwerkingsinstructies (<?xml-stylesheet ?>) blijven op hun eigen regel staan.
  • Commentaar op een eigen regel of inline, afhankelijk van de context.
  • CDATA-secties worden exact behouden, inclusief de witruimte daarin.
  • Attribuutwaarden worden opnieuw aangehaald met dubbele aanhalingstekens als ze geen dubbele aanhalingstekens bevatten, anders met enkele.
  • Entiteitsverwijzingen zoals &amp;, &lt; en &gt; blijven ongewijzigd, tenzij u volledige entiteitsexpansie inschakelt.

Voorbeelden van inspringing

Invoer (geminificeerd):

<books><book id="1"><title>1984</title><author>George Orwell</author></book></books>

Opgemaakt (2 spaties):

<books>
  <book id="1">
    <title>1984</title>
    <author>George Orwell</author>
  </book>
</books>

Veelvoorkomende fouten die de tool opspoort

Fout Oplossing
Niet-overeenkomende sluittag Laat openings- en sluitnaam overeenkomen
Niet-gesloten element Voeg de sluittag toe
Ongeldig teken in tagnaam Tagnamen moeten beginnen met een letter of liggend streepje
Dubbele attributen op hetzelfde element Verwijder het duplicaat
Onjuist gevormde CDATA Controleer de koppeling van <![CDATA[ en ]]>
Niet-geëscapete < of & in tekst Gebruik &lt; of &amp;

Welgevormd versus geldig

  • Welgevormde XML volgt de syntactische regels: gebalanceerde tags, geldige tekens, correcte nesting. De formatter controleert dit.
  • Geldige XML voldoet daarnaast aan een schema (DTD of XSD). Gebruik daarvoor de XSD-validator.

Een XML-document kan welgevormd zijn zonder geldig te zijn, maar niet andersom.

Praktische opmerkingen

  • De volgorde van XML-attributen is voor sommige systemen betekenisvol (niet voor veel moderne), de formatter behoudt de invoervolgorde.
  • Zelfsluitende versus expliciet lege tags: <foo/> en <foo></foo> zijn gelijkwaardig in XML; de formatter gebruikt zelfsluitende tags voor lege elementen, tenzij u daarvoor afmeldt.
  • Namespace-voorvoegsels blijven exact behouden.

Veelgestelde vragen

Ja. Tekst binnen elementen met gemengde inhoud en CDATA-secties blijft ongewijzigd; alleen de witruimte tussen elementen wordt aangepast voor de inspringing.

De praktische limiet ligt rond 50 MB in de browser. Daarboven verbruikt het parsen van het DOM te veel geheugen. Gebruik voor zeer grote bestanden een streaming-formatter zoals xmllint op de opdrachtregel.

Ja. Namespace-declaraties blijven op hun element behouden; de formatter verplaatst ze niet naar de root, tenzij u “namespaces consolideren” inschakelt.

Nee. Het parsen en opmaken gebeurt in uw browser; er wordt niets verzonden.

Gerelateerde tools

Tool beschikbaar in andere talen