XML-formatterer og validator
Lim inn XML, formater med riktig innrykk eller valider syntaksen. Håndterer attributter og navnerom. Ingen opplasting.
- Lim XML-en din i tekstområdet til venstre.
- Klikk Formater for å gå tur-retur gjennom fast-xml-parser og produsere innrykket XML.
- Klikk Valider for å sjekke well-formedness uten å endre inndata.
- Feil peker på den feilende posisjonen i dokumentet.
Hva gjør det?
Parser XML med fast-xml-parser og sender den ut igjen med konsistent innrykk. Attributtrekkefølgen innenfor hvert element bevares; element-nesting bevares nøyaktig. Blandet innhold (tekst + barn-elementer) og navnerom (prefix:tag) holdes intakte. Utdata er well-formed XML — men well-formed er ikke det samme som gyldig (gyldighet krever et skjema eller DTD, som dette verktøyet ikke sjekker).
Eksempel
Rotete XML-inndata:
<root version="1"><name>Ada</name><tags>math</tags><tags>logic</tags></root> Formatert utdata:
<root version="1">
<name>Ada</name>
<tags>math</tags>
<tags>logic</tags>
</root> Vanlige XML-feil og hvordan rette dem
XML-well-formedness-regler er strengere enn HTML. Mønstrene under dekker de fleste parser-feilene.
- Ulukket tag. `<a><b></a>` er ugyldig — `<b>` må lukkes (`<b/>` eller `</b>` et sted). XML tillater ikke valgfrie lukke-tags som HTML.
- Stor/liten bokstav matcher ikke. XML skiller mellom store og små bokstaver — `<Foo></foo>` er to forskjellige tag-navn. Match nøyaktig.
- Uesckapede spesialtegn. En bokstavelig `<`, `>`, `&` eller anførselstegn inne i tekst eller en attributtverdi må escapes: `<`, `>`, `&`, `"`. Pakk data med disse tegnene inn i CDATA: `<![CDATA[...]]>`.
- Flere røtter. XML krever nøyaktig ett rot-element. `<a/><b/>` på toppnivå er ugyldig — pakk inn: `<root><a/><b/></root>`.
- Ugyldig elementnavn. Elementnavn kan ikke starte med et siffer, inneholde mellomrom eller bruke reserverte tegn (`< > & " \'`). Navn som starter med `xml` (hvilken som helst skrivemåte) er reservert av spesifikasjonen.
- Mismatchede anførselstegn rundt attributter. `<a name="value\'>` blander doble og enkle anførselstegn. Velg én stil konsekvent per attributt. Begge er gyldig XML.
Ofte stilte spørsmål
Endrer formatering dataene mine?
Bare mellomrommet mellom elementer. Element-rekkefølge, attributtrekkefølge, attributtverdier, tekstinnhold og CDATA-innramming bevares. Selv-lukkende form (`<x/>`) og eksplisitt form (`<x></x>`) kan normaliseres.
Bevares XML-kommentarer?
fast-xml-parser fjerner kommentarer som standard. Trenger du formatering som bevarer kommentarer, bruk et annet verktøy (XSLT identitetstransform for eksempel, eller `xmllint --format`).
Validerer dette mot et skjema?
Nei. Dette sjekker bare well-formedness — at dokumentet parses som syntaktisk gyldig XML. Skjemavalidering (XSD, DTD, RelaxNG) er et separat trinn som krever skjemaet som ekstra inndata.
Hvordan håndteres navnerom?
Navnerom-prefikser holdes som del av elementnavnet (`x:foo`). Standard navnerom-deklarasjoner og prefiks-bindinger bevares som attributter. Navnerom-bevisst behandling (URI-oppløsning) utføres ikke.
Lastes XML-en min opp?
Nei. Alt kjører i nettleseren din — inndata blir parset og re-serialisert av JavaScript på denne siden og sendes aldri til noen server.
Kan jeg tilpasse innrykket?
For øyeblikket fast på 2 mellomrom per nivå. For å tilpasse, kjør fast-xml-parser på kommandolinjen — samme bibliotek — og pass `{ indentBy: " " }` eller en annen streng.