onlinetools.dev

XML 포맷터 & 검증기

XML 정리·압축·검증, 오류 위치를 정확히 표시

로컬 실행
loading…
이 도구에 대해

이 도구는 원하는 들여쓰기로 XML을 보기 좋게 정리하고, 정형성(well-formedness) 오류를 정확한 행과 열로 짚어 주며, 문서를 한 줄로 압축할 수도 있습니다. 주석, CDATA 구간, XML 프롤로그는 포매팅 후에도 살아남습니다 — 의외로 많은 포매터가 이들을 소리 없이 삼켜 버립니다.

여기서 검증이란 정형성 검사입니다. 올바르게 중첩된 태그, 따옴표로 감싼 속성, 허용된 문자. 손으로 편집하다 생기는 사고의 압도적 다수 — 빠진 슬래시, 닫히지 않은 요소, 홀로 떠도는 앰퍼샌드 — 가 여기서 잡힙니다. XSD에 대한 스키마 검증은 의도적으로 범위 밖입니다. 그것은 스키마 파일이 있는 빌드 파이프라인의 몫입니다.

설정 파일, SOAP 페이로드, RSS 피드, Android 매니페스트에는 내부 호스트명과 키가 으레 담겨 있습니다. 모든 파싱은 로컬에서 이루어지며 아무것도 전송되지 않습니다.

자주 묻는 질문

왜 제 XML이 "char … is not expected" 오류로 실패하나요?
흔한 용의자는 & 여야 할 날것의 &, 따옴표 없는 속성 값, 잘못된 순서로 닫힌 태그입니다. 오류 메시지에 문제가 되는 첫 문자의 행과 열이 담기고, 입력 상자가 그 위치를 표시합니다.
포매터가 문서를 재정렬하거나 정규화하나요?
아니요. 요소, 속성과 그 순서는 정확히 보존되고 요소 사이의 공백만 바뀝니다. 마크업과 같은 줄에 있는 텍스트 내용은 다듬어지고 내부의 연속 공백은 접힙니다 — 의미 있는 공백(xml:space="preserve")에 의존한다면 그 구간은 압축된 상태로 두세요.
압축은 무엇을 제거하나요?
요소 사이의 들여쓰기와 줄바꿈, 그리고 주석입니다. CDATA 구간, 처리 지시문, 프롤로그는 남습니다. 공백만으로 이루어진 텍스트 노드에 의존하지 않는 소비자라면 결과는 동일하게 파싱됩니다.
XSD나 DTD에 대해 검증할 수 있나요?
아니요 — 정형성만 검사합니다. 스키마 검증에는 스키마 파일과 XSD 엔진이 필요하며, 툴체인에서 하는 편이 낫습니다(xmllint --schema, 또는 사용하는 언어의 XML 라이브러리).
관련 도구