XML 정리 w3c
XML 문서를 들여쓰기로 정렬하거나 압축하고, well-formed 여부를 검사합니다.
이 도구가 하는 일
XML은 태그로 데이터 구조를 표현하는 마크업 형식입니다. JSON이 널리 쓰이는 지금도 SOAP 기반 웹 서비스, RSS 피드, Android 레이아웃, Maven과 Spring의 설정 파일, 각종 문서 표준에서 여전히 핵심적으로 사용됩니다.
이 도구는 XML 문서의 중첩 구조에 맞춰 들여쓰기를 적용해 읽기 쉽게 만들고, 반대로 공백을 제거해 압축하기도 합니다. 변환 과정에서 well-formed 여부를 검사하는데, 이는 여는 태그와 닫는 태그가 짝을 이루는지, 태그가 올바르게 중첩되었는지, 속성 값이 따옴표로 감싸져 있는지, 특수문자가 제대로 이스케이프되었는지를 확인하는 과정입니다.
well-formed와 valid는 다른 개념입니다. well-formed는 XML 문법 규칙을 지켰다는 뜻이고, valid는 여기에 더해 DTD나 XML Schema가 정의한 구조를 따른다는 뜻입니다. 이 도구는 well-formed 여부만 확인합니다.
언제 사용하나요
SOAP API의 요청과 응답 본문을 확인할 때, RSS나 사이트맵 파일의 구조를 검토할 때, 압축되어 전달된 설정 파일을 읽기 쉽게 정리할 때, 파싱 오류가 발생한 XML에서 문제 위치를 찾을 때 사용합니다.
입력과 출력 예시
<root><item id="1">value</item></root>
<root>
<item id="1">value</item>
</root>
중첩 단계마다 들여쓰기가 적용됩니다.
<root><item>A & B</item></root>
well-formed 오류: & 는 &amp; 로 이스케이프해야 합니다
XML에서 앰퍼샌드는 엔티티 시작 기호이므로 그대로 쓸 수 없습니다.
주의사항
XML에서 &, <, > 는 특별한 의미를 가지므로 데이터 안에 있으면 & < > 로 이스케이프해야 합니다. 이 처리가 빠지면 well-formed 검사에서 오류가 납니다. 또한 CDATA 섹션 안의 내용이나 공백이 의미를 갖는 문서(예: 텍스트 콘텐츠가 포함된 문서)에서는 들여쓰기 정리가 실제 데이터를 바꿀 수 있으므로, 결과를 그대로 저장하기 전에 확인이 필요합니다.
자주 묻는 질문
well-formed와 valid는 어떻게 다른가요?
well-formed는 XML 문법 자체를 지켰다는 뜻이고, valid는 DTD나 스키마가 정한 구조까지 만족한다는 뜻입니다. 이 도구는 well-formed만 검사합니다.
들여쓰기를 하면 데이터가 바뀌나요?
태그 사이의 공백이 의미를 갖는 문서에서는 바뀔 수 있습니다. 순수한 데이터 교환용 XML에서는 대부분 문제가 없지만, 텍스트 콘텐츠가 포함된 문서는 확인이 필요합니다.