XML 포맷터

XML을 정리하거나 압축하고, 정형식이 아닌 위치를 정확히 짚어 줍니다.

들여쓰기
입력
출력

결과가 여기에 표시됩니다

이 XML 포맷터가 하는 일

XML(Extensible Markup Language)은 중첩된 태그에 구조화된 데이터를 저장하며, 여전히 수많은 설정 파일, 문서 형식(Office와 SVG 파일 같은), SOAP 웹 서비스, 데이터 피드의 근간입니다. 어느 마크업이든 그렇듯 들여쓰면 훨씬 읽기 쉽습니다. 이 도구는 XML을 정리하고 — 각 요소를 일관된 들여쓰기로 저마다의 줄에 놓습니다 — 또는 한 줄로 압축하며, 동시에 문서가 정형식인지 확인합니다.

"정형식"의 뜻

정형식임은 특정 스키마에 맞는지와는 별개로, 모든 XML 문서가 따라야 하는 기본 규칙의 집합입니다. 정형식 문서에는 다음이 있습니다:

  • 모든 여는 태그가 닫는 태그와 짝이 맞거나 자체 닫힘 태그로 쓰여 있습니다.
  • 태그가 올바르게 중첩되어 결코 겹치지 않습니다(안쪽 태그가 바깥쪽 태그보다 먼저 닫혀야 합니다).
  • 모든 속성값이 따옴표로 감싸여 있습니다.
  • 텍스트 안에서 < 나 & 같은 특수 문자가 엔티티(&lt; 나 &amp;)로 이스케이프되어 있습니다.

이 규칙 중 하나라도 어겨지면 이 도구는 첫 문제 — 짝이 안 맞거나 닫히지 않은 태그, 끝나지 않은 주석, 텍스트 속 떠도는 < — 의 정확한 줄과 열을 알리므로, 문서 전체를 뒤지는 대신 빠르게 고칠 수 있습니다.

정리와 압축

  • 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 형식의, 엄격히 닫힌 마크업만 통과합니다.
서식화하면 데이터가 바뀌나요?
아니요. 정리와 압축은 요소 사이의 공백을 바꿀 뿐입니다. 요소 이름, 속성, 텍스트 내용, 구조는 바뀌지 않습니다.