Formatuj, wcinaj lub minifikuj XML bez wysyłania dokumentu.
Walidator XML
Sprawdź poprawność składni XML i znajdź dokładne miejsce błędu.
Działa w przeglądarcePrzetwarzanie lokalne. Dane wejściowe nie opuszczają Twojego urządzenia.
Szczegóły
O tym narzędziu
Sprawdza, czy XML jest poprawnie zbudowany - znaczniki sparowane i właściwie zagnieżdżone, atrybuty w cudzysłowach, encje dozwolone, jeden element główny - i zgłasza pierwszy błąd z linią i kolumną.
„Poprawnie zbudowany” to niższa poprzeczka niż „zgodny ze schematem” i ta różnica jest powodem, dla którego są tu dwa narzędzia do XML-a. Poprawnie zbudowany znaczy, że dokument przestrzega własnych reguł składni XML-a i w ogóle da się go sparsować. Zgodny znaczy, że pasuje jeszcze do schematu: właściwe elementy, we właściwej kolejności, z właściwymi typami danych. Dokument może być bez zarzutu zbudowany i mimo to nie nadawać się do niczego - od tego jest walidator XSD.
Większość awarii to jeden z kilku przypadków. Niezaescapowany ampersand - samo & zamiast & - to klasyk i dlatego adresy URL wklejane do treści elementu tak często rozwalają dokument. Znacznik zamknięty w złej kolejności, wartość atrybutu bez cudzysłowów, dwa elementy główne albo przypadkowy znak przed deklaracją XML zatrzymają parser. Podobnie nierozpoznana encja: XML definiuje z nazwy tylko pięć, a wszystko poza nimi musi pochodzić z DTD.
Przestrzenie nazw są sprawdzane w zakresie składni: użycie prefiksu bez jego zadeklarowania to błąd, bo parser nie ma jak go rozwiązać. Czego nie sprawdzamy, to czy adres przestrzeni nazw jest tym, którego oczekuje odbiorca - to już znaczenie, nie składnia, i znów zadanie dla schematu.
Wszystko działa w Twojej przeglądarce. Encje zewnętrzne nie są rozwiązywane, a parser nie wykonuje żadnego żądania sieciowego, co z samej konstrukcji zamyka całą klasę ataków XXE - nie przez ustawienie, które ktoś mógłby zmienić.
Wypróbuj też
Powiązane narzędzia
- Działa w przeglądarceProgramistyczne
-
Sprawdź poprawność JSON i znajdź dokładne miejsce błędu.
Działa w przeglądarceProgramistyczne -
Koduj tekst do Base64 i dekoduj go z powrotem.
Działa w przeglądarceProgramistyczne
Warto wiedzieć
Najczęstsze pytania
- Czy narzędzie sprawdza XML względem XSD?
- Nie - to sprawdza, czy dokument jest poprawnie zbudowany, czyli czy w ogóle się parsuje. Sprawdzenie względem schematu to inne zadanie i ma tutaj własne narzędzie, walidator XML + XSD, bo mylenie tych dwóch rzeczy jest sposobem, w jaki dochodzi się do wniosku, że dokument jest w porządku, podczas gdy on tylko się parsuje.
- Czy DTD i encje zewnętrzne są obsługiwane?
- Encje zewnętrzne celowo nie są rozwiązywane, a w trakcie parsowania nie leci żadne żądanie sieciowe. To zamyka XXE - atak, w którym spreparowany dokument każe parserowi pobrać lokalny plik albo wewnętrzny adres - strukturalnie, a nie przez ustawienie, które ktoś mógłby przestawić.
- Co właściwie znaczy „poprawnie zbudowany”?
- Że dokument przestrzega składni XML: dokładnie jeden element główny, każdy znacznik zamknięty i właściwie zagnieżdżony, wartości atrybutów w cudzysłowach, żadnego gołego & ani < w treści, a każda encja albo jedna z pięciu wbudowanych, albo zadeklarowana. Nie mówi to nic o tym, czy zawartość jest tą, której oczekuje Twój system.
- Dlaczego mój ampersand to błąd?
- Bo & rozpoczyna w XML-u odwołanie do encji, więc samotny znak zostawia parser czekający na nazwę i średnik. Napisz zamiast tego &. Właśnie dlatego wklejenie adresu URL z parametrami wprost do treści elementu zwykle rozwala dokument - każdy & w nim wymaga zaescapowania.
- Czy mój XML jest wysyłany?
- Nie. Parsowanie odbywa się w przeglądarce, więc dokument z danymi klientów, fakturą albo ładunkiem wewnętrznej integracji nie opuszcza Twojego urządzenia.