사용 방법
- 입력 상자에 XML을 붙여넣거나, 기기에서 .xml 파일을 열거나, 예제를 사용해 보세요.
- 문서에 들여쓰기를 하려면 포맷을, 태그 사이 공백을 제거하려면 Minify를 선택하세요.
- 들여쓰기에 공백 2칸, 4칸 또는 탭을 선택하고, 주석을 유지할지 결정하세요.
- XML이 올바른 형식이 아니면 보고된 줄과 열에서 문제를 수정하세요. 그렇지 않으면 결과를 복사하거나 다운로드하세요.
작동 방식
이 포맷터는 요소, 작은따옴표나 큰따옴표로 된 속성, 주석, CDATA 섹션, <?xml?> 선언 같은 처리 명령, 내부 서브셋을 포함한 DOCTYPE 선언을 이해하는 자체 파서로 XML을 읽습니다. well-formed XML 규칙을 검사합니다. 열린 모든 요소는 올바른 순서로 닫혀야 하고, 루트 요소는 정확히 하나여야 하며, 속성 이름은 중복될 수 없고, 속성 값에는 <가 포함될 수 없으며, 모든 &는 엔티티 참조를 시작해야 합니다.
포맷할 때 각 요소, 주석, CDATA 섹션은 각각 한 줄로 배치됩니다. 텍스트만 포함하는 요소는 한 줄에 유지됩니다(예: <title>Midnight Rain</title>). 텍스트 노드 안의 앞뒤 공백은 제거되고 태그 사이의 공백만 있는 텍스트는 삭제됩니다. 문서 일부에서 공백이 중요하다면 해당 요소에 xml:space="preserve"를 표시하면 작성된 그대로 복사됩니다.
축소하면 태그 사이의 공백만 있는 텍스트가 제거되며, “주석 유지”를 선택 해제하면 주석도 제거됩니다. 텍스트 내용과 CDATA는 변경되지 않습니다. & 같은 엔티티 참조는 확장되지 않고 작성된 그대로 유지됩니다.
이것은 DTD나 XML Schema에 대한 유효성 검사가 아니라 올바른 형식(well-formedness) 검사입니다. 특정 형식에서 어떤 요소를 허용하는지는 알지 못합니다. xs:element 같은 네임스페이스 이름은 일반 이름으로 처리됩니다.
예시
한 줄로 된 API 응답 읽기
SOAP 또는 RSS 응답이 4,000자짜리 한 줄로 도착합니다. 2칸 들여쓰기로 포맷하면 envelope, body, items의 중첩 구조가 표시되어 필요한 필드를 찾을 수 있습니다.
사이트맵에서 잘못된 태그 찾기
sitemap.xml이 Search Console에서 로드되지 않습니다. 붙여넣으면 “214행 5열: 닫는 태그 </urlset>이(가) 열린 요소 <url>과(와) 일치하지 않습니다”가 표시되어 </url>이 누락된 항목을 알 수 있습니다.
SVG 또는 설정 파일 축소
페이지에 포함하기 전에 SVG 아이콘에서 들여쓰기와 편집기 주석을 제거하려면 “주석 유지”를 해제하고 축소하세요.
자주 묻는 질문
스키마(XSD)나 DTD에 대해 유효성을 검사하나요?
아니요. 문서가 올바른 형식(well-formed)인지 검사합니다. 올바른 중첩, 하나의 루트 요소, 따옴표로 묶인 속성, 중복 속성 없음, 유효한 엔티티 참조 여부를 확인합니다. 특정 스키마에서 해당 요소가 허용되는지는 검사하지 않습니다.
포맷하면 데이터가 변경되나요?
포맷하면 태그 사이의 공백을 제거하고 텍스트 노드의 시작과 끝 공백을 잘라냅니다. 대부분의 데이터 형식에서 이 공백은 의미가 없습니다. 의미가 있는 경우 요소에 xml:space="preserve"를 추가하면 해당 콘텐츠는 변경 없이 복사됩니다. Minify는 텍스트 내용을 원래 그대로 유지합니다.
이 도구로 HTML을 포맷할 수 있나요?
XHTML인 경우에만 가능합니다. 일반 HTML은 <br>처럼 닫는 슬래시가 없는 태그를 허용하지만 XML은 이를 거부합니다. 일반 HTML에는 HTML 포맷터를 사용하세요.
크기 제한이 있나요?
정해진 제한은 없지만 매우 큰 파일(수십 메가바이트)은 기기 메모리에서 처리되므로 페이지가 느려질 수 있습니다. “파일 열기”로 여는 파일은 최대 20MB까지 가능합니다.
개인정보 보호
XML은 브라우저에서만 구문 분석되고 포맷됩니다. 업로드되거나 저장되거나 분석에 포함되지 않습니다.