XML
XML 포맷터
XML 압축, 정렬 및 검사.
XML 포맷팅에 대하여
XML은 중첩된 태그로 구조화된 데이터를 담습니다. 정렬은 들여쓰기를 다시 적용해 계층 구조를 읽기 쉽게 만들고, 압축은 태그 사이의 공백을 제거해 크기를 줄입니다. 입력은 먼저 형식이 올바른지 검사하므로, 닫히지 않았거나 서로 맞지 않는 태그는 조용히 고쳐지지 않고 오류로 보고됩니다.
포맷팅할 때 놓치기 쉬운 XML 기능이 두 가지 있습니다. 네임스페이스(xmlns:prefix="...")와 CDATA 섹션(<![CDATA[ ... ]]>)으로, 후자는 마크업으로 파싱되어서는 안 되는 텍스트를 감싸는 데 쓰이며 XML 문서 안에 HTML 조각이나 코드 예제를 넣을 때 흔히 사용됩니다. 둘 다 작성된 그대로 정확히 보존되며, 바뀌는 것은 요소 사이의 공백뿐입니다. <br/>과 같은 자체 종료 태그도 자체 종료 형태든 명시적인 종료 태그든, 원래 작성했던 형태 그대로 남습니다.
사용되는 곳
- 웹 서비스를 디버깅하며 SOAP 요청과 응답 읽기
- pom.xml이나 web.config 같은 설정 파일 살펴보기
- RSS, Atom, 사이트맵 피드를 게시 전에 확인하기
- 네트워크로 보내기 전에 XML 데이터 크기 줄이기
자주 묻는 질문
스키마 검증도 하나요?
아닙니다. 문서가 올바른 형식인지(태그가 닫히고 제대로 중첩되었는지, 속성값이 따옴표로 묶였는지)만 확인합니다. DTD나 XSD에 대한 검증은 별도의 단계이며 이 도구는 수행하지 않습니다.
포맷팅이 데이터를 바꾸나요?
요소 사이의 공백만 바뀝니다. 텍스트 내용, 속성, 주석, XML 선언은 그대로 유지됩니다.
여기에 입력한 XML이 저장되나요?
아닙니다. 변환은 해당 요청에 대해서만 서버에서 처리되며, 이후 기록되거나 보관되지 않습니다.
네임스페이스와 CDATA 섹션은 보존되나요?
네, 완전히 그대로 보존됩니다. CDATA 섹션의 핵심 목적은 마크업으로 해석되어서는 안 되는 텍스트(흔히 삽입된 HTML 조각이나 코드 예제)를 담는 것이므로, 이 도구는 그 내용을 내부 공백까지 포함해 작성된 그대로 남깁니다. 네임스페이스 선언과 접두사는 포맷팅 관점에서는 일반적인 속성이나 요소 이름일 뿐이므로, 이 역시 변경 없이 그대로 통과합니다.