<?xml version="1.0" encoding="UTF-8"?>
<catalog><book id="bk101"><author>Gambardella, Matthew</author><title>XML Developer's Guide</title><price currency="USD">44.95</price></book></catalog>
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<price currency="USD">44.95</price>
</book>
</catalog>
도구 설명
XML Formatter XML 포매터 정보
XML Formatter는 압축되었거나 기계가 생성한 XML을 들여쓰기가 명확해 바로 읽을 수 있는 마크업으로 바꿔 줍니다.
API 응답, 설정 파일, SOAP 메시지를 붙여 넣고 보기 좋게 정렬하거나, 다시 한 줄로 압축하거나, 접을 수 있는 트리로 살펴볼 수 있습니다.
XML Formatter 사용 방법
- XML을 붙여 넣거나 .xml 파일을 업로드합니다.
- Format을 눌러 공백 2칸, 공백 4칸, 탭 중 하나로 정렬하거나 Compress로 whitespace를 제거합니다.
- Tree 보기로 전환해 branch를 접고, 문서가 well-formed가 아니면 오류 메시지를 확인합니다.
이럴 때 사용합니다
- logs나 network 탭에서 복사한 한 줄짜리 XML 응답 읽기.
- 깊게 중첩된 SOAP 메시지나 RSS feed를 닫는 태그를 세지 않고 확인하기.
- 설정 파일을 커밋하기 전에 태그 불일치의 정확한 행과 열 찾기.
XML 문법, namespace, 그리고 포매팅으로 해결되지 않는 것
포매팅은 node 사이의 whitespace만 바꿉니다. 데이터를 다시 쓰지 않으며, 잘못된 문서를 올바른 문서로 만들지도 못합니다.
- 모든 element에는 짝이 되는 닫는 태그가 필요하고 태그 이름은 대소문자를 구분합니다: <Book>과 <book>은 서로 다른 element입니다.
- attribute 값은 반드시 따옴표로 감싸야 하고, meta: 같은 namespace prefix는 xmlns attribute로 선언해야 합니다.
- CDATA 섹션 안의 텍스트는 그대로 보존되므로 마크업처럼 보이는 내용도 다시 들여쓰기되지 않습니다.
XML Formatter FAQ
- XML beautifier와 XML pretty printer는 같은 것인가요?
- 네. beautify, pretty print, format 모두 같은 동작을 뜻합니다: 데이터를 바꾸지 않고 줄바꿈과 들여쓰기를 추가하는 것입니다.
- 포매팅이 데이터를 바꾸나요?
- 아니요. node 사이의 whitespace만 바뀝니다. element 순서, attributes, CDATA 내용은 그대로 유지됩니다.
- 제 XML이 서버로 업로드되나요?
- 아니요. 파싱, 포매팅, 검증 모두 브라우저에서 로컬로 실행되며 wetool.site로 전송되지 않습니다.
XML Formatter와 XML Schema 검증
이 도구는 문서가 well-formed인지, 즉 태그가 짝을 이루고 따옴표가 닫히고 중첩이 올바른지 확인합니다. XSD나 DTD로 대조하지는 않으므로 well-formed 문서도 schema를 위반할 수 있습니다.
접을 수 있는 트리로 XML 읽기
XML viewer는 텍스트가 아니라 구조를 보여 줍니다. 관심 없는 branch를 접을 수 있어서, 낯선 문서를 이해하는 가장 빠른 방법이 트리 보기입니다.
- 각 element는 태그 이름과 attributes를 보여 주는 node가 되어 문서의 형태를 한눈에 파악할 수 있습니다.
- branch를 접으면 subtree 전체가 숨겨져 <book>이나 <item> 같은 반복 레코드를 비교하기 쉬워집니다.
- 형제 순서는 작성된 그대로 유지되며 이름이 같은 element가 하나로 합쳐지지 않습니다.
XML 검증하고 오류 읽기
XML validator는 문서가 well-formed가 아니게 되는 첫 지점을, 바로 이동할 수 있는 행과 열과 함께 알려 줍니다.
- 태그 불일치 오류는 발견된 닫는 태그와 여는 태그가 선언된 행을 함께 알려 줍니다.
- 따옴표 없는 attribute 값과 잘못 남은 < 또는 & 문자가 파싱 실패의 가장 흔한 두 가지 원인입니다.
- 행과 열 번호는 parser가 직접 계산하므로 Chrome, Firefox, Safari에서 동일하게 유지됩니다.