XML 포맷터
XML을 정리하거나 압축하고, 정형식이 아닌 위치를 정확히 짚어 줍니다.
결과가 여기에 표시됩니다
이 XML 포맷터가 하는 일
XML(Extensible Markup Language)은 중첩된 태그에 구조화된 데이터를 저장하며, 여전히 수많은 설정 파일, 문서 형식(Office와 SVG 파일 같은), SOAP 웹 서비스, 데이터 피드의 근간입니다. 어느 마크업이든 그렇듯 들여쓰면 훨씬 읽기 쉽습니다. 이 도구는 XML을 정리하고 — 각 요소를 일관된 들여쓰기로 저마다의 줄에 놓습니다 — 또는 한 줄로 압축하며, 동시에 문서가 정형식인지 확인합니다.
"정형식"의 뜻
정형식임은 특정 스키마에 맞는지와는 별개로, 모든 XML 문서가 따라야 하는 기본 규칙의 집합입니다. 정형식 문서에는 다음이 있습니다:
- 모든 여는 태그가 닫는 태그와 짝이 맞거나 자체 닫힘 태그로 쓰여 있습니다.
- 태그가 올바르게 중첩되어 결코 겹치지 않습니다(안쪽 태그가 바깥쪽 태그보다 먼저 닫혀야 합니다).
- 모든 속성값이 따옴표로 감싸여 있습니다.
- 텍스트 안에서 < 나 & 같은 특수 문자가 엔티티(< 나 &)로 이스케이프되어 있습니다.
이 규칙 중 하나라도 어겨지면 이 도구는 첫 문제 — 짝이 안 맞거나 닫히지 않은 태그, 끝나지 않은 주석, 텍스트 속 떠도는 < — 의 정확한 줄과 열을 알리므로, 문서 전체를 뒤지는 대신 빠르게 고칠 수 있습니다.
정리와 압축
- XML을 읽거나 비교하거나 디버깅해야 할 때는 정리합니다: 들여쓰기가 문서 구조를 드러내고 중첩을 분명하게 합니다. 스타일에 맞춰 공백 2칸, 4칸, 탭을 고르세요.
- XML을 간결하게 전송하거나 저장해야 할 때는 압축합니다: 요소 사이의 공백만의 틈이 없어지고 문서가 뜻을 바꾸지 않으며 한 줄로 무너집니다.
주석, CDATA 구역, 처리 명령, XML 선언은 두 작업 모두에서 그대로 유지되므로, 다시 서식화해도 의미 있는 것은 아무것도 잃지 않습니다.
XML과 JSON 비교
JSON은 웹 API의 기본이 되었습니다. 더 가볍고 대부분의 프로그래밍 언어의 데이터 타입에 곧바로 대응되기 때문입니다. XML은 문서에 혼합 내용(인라인 마크업이 든 텍스트), 속성을 통한 풍부한 메타데이터, 주석, 네임스페이스, 또는 정식 스키마에 대한 검증이 필요한 곳에서는 여전히 더 잘 맞습니다. 많은 시스템 — 기업 연동, 출판 파이프라인, 오피스 문서 — 이 XML 위에 세워졌고 오래 그럴 것이며, 그래서 편안하고 믿을 만한 서식화가 지금도 중요합니다.
자주 묻는 질문
- "정형식"이란 무슨 뜻인가요?
- 정형식 XML에서는 모든 태그가 올바르게 닫히고 중첩되며, 속성값이 따옴표로 감싸이고, 특수 문자가 이스케이프되어 있습니다. 이 도구는 그 규칙들을 확인하고 처음 어긋난 곳을 짚어 줍니다.
- 제 XML이 서버로 전송되나요?
- 아니요. 서식화도 검증도 모두 브라우저 안에서 이루어집니다. 붙여넣은 내용이 기기 밖으로 나가지 않습니다.
- 스키마(DTD나 XSD)에 대해 검증하나요?
- 아니요. 정형식임 — 모든 XML 문서가 따라야 하는 구조 규칙 — 은 확인하지만, 문서가 특정 DTD나 XSD 스키마에 맞는지는 확인하지 않습니다. 그것은 별도의 단계입니다.
- 주석과 CDATA는 유지되나요?
- 네. 주석, CDATA 구역, 처리 명령, XML 선언은 정리하든 압축하든 모두 그대로 유지됩니다.
- HTML에 대해 오류가 보고되는 이유는 무엇인가요?
- HTML은 XML보다 너그럽습니다 — <br> 같은 닫히지 않은 태그와 따옴표 없는 속성을 허용합니다. 그것들은 정형식 XML이 아니라 보고됩니다. XHTML 형식의, 엄격히 닫힌 마크업만 통과합니다.
- 서식화하면 데이터가 바뀌나요?
- 아니요. 정리와 압축은 요소 사이의 공백을 바꿀 뿐입니다. 요소 이름, 속성, 텍스트 내용, 구조는 바뀌지 않습니다.