사용 방법
입력창에 XML을 붙여넣으면 결과가 나옵니다. “방식”에서 정렬을 고르면 태그마다 줄을 나누고 들여써서 구조를 한눈에 볼 수 있게 하고, 압축을 고르면 태그 사이의 줄바꿈과 공백만 없애 파일 크기를 줄입니다. 정렬을 고르면 들여쓰기 폭(공백 2칸·4칸·탭)도 바꿀 수 있습니다. 텍스트와 요소가 섞인 혼합 콘텐츠(mixed content)에서는 정렬이 그 사이의 공백을 다듬어 다시 배치하지만, 압축은 그 공백을 원래 그대로 남깁니다. 입력한 XML이 잘 만들어진(well-formed) 문서가 아니면 결과 대신 오류 안내가 나오고, 가능하면 몇 번째 줄·칸에서 문제가 생겼는지도 함께 보여 줍니다.
잘 만들어짐(well-formed)과 유효함(valid)은 다릅니다
XML을 다룰 때 자주 헷갈리는 개념입니다. “잘 만들어짐(well-formed)“은 태그가 제대로 열리고 닫혔는지, 속성값이 따옴표로 감싸여 있는지, 루트 요소가 하나뿐인지처럼 XML 자체의 문법을 지켰는지를 뜻합니다. 반면 “유효함(valid)“은 그 문서가 DTD나 XSD 같은 특정 스키마가 정한 구조(어떤 요소가 어떤 순서로 와야 하는지, 어떤 속성이 필수인지 등)를 따르는지를 뜻합니다. 이 도구는 브라우저 내장 파서로 well-formed 여부만 검사하며, 스키마 검증은 하지 않습니다. 스키마에 맞는지 확인하려면 그 스키마를 지원하는 별도 도구가 필요합니다.
주석·CDATA·처리 지시문은 그대로 유지됩니다
정렬·압축 모두 <!-- 주석 -->, <![CDATA[ ... ]]> 구간, <?처리 지시문?>의 내용을 바꾸지 않습니다. 정렬할 때는 이런 요소들도 각자 자기 줄에 들여써서 놓고, 압축할 때는 줄바꿈만 없앤 채 원래 내용을 그대로 남깁니다. <!DOCTYPE ...> 선언과 <?xml version="1.0"?> 같은 XML 선언도 원문 그대로 맨 앞에 남습니다.
XXE(외부 엔터티) 걱정 없이 붙여넣어도 됩니다
서버에 XML을 올려 파싱하는 방식은 XXE(XML External Entity) 공격에 취약할 수 있어 조심해야 합니다. 하지만 이 도구는 브라우저에 내장된 DOMParser를 그대로 쓰는데, 이 API는 문서 안에 적힌 외부 DTD나 외부 엔터티를 실제로 가져오지(fetch) 않도록 만들어져 있습니다. 게다가 처리 자체가 여러분의 브라우저 안에서만 일어나고 서버로 아무것도 전송되지 않으므로, 출처를 모르는 XML이라도 이 도구에 붙여넣는 것만으로 서버가 공격받을 일은 없습니다.
개인정보
입력한 XML은 이 브라우저 안에서만 처리되며 어디에도 저장되거나 전송되지 않습니다. 페이지를 닫으면 입력 내용도 함께 사라집니다.