XML 서식 정리
XML을 붙여 넣으면 스스로 정리됩니다. 텍스트와 속성은 그대로.
정리된 XML
사용 방법
- 상자에 XML을 붙여 넣으세요. 입력하는 대로 정리되며 누를 버튼은 없습니다.
- 서식 정리나 압축을 고르고 들여쓰기를 2칸이나 4칸으로 정하세요. 결과는 즉시 갱신됩니다.
- 구조가 깨졌다면 메시지가 줄, 열, 요소를 알려 줍니다. 결과를 복사하거나 .xml 파일로 내려받으세요.
예시
입력
<order id="A-1042"><customer><name>김민준</name><email>minjun@example.com</email></customer><items><item sku="X-1" qty="2">기어 부품</item><item sku="X-2" qty="1">천공 카드 세트</item></items></order>
정리 후
<order id="A-1042"> <customer> <name>김민준</name> <email>minjun@example.com</email> </customer> <items> <item sku="X-1" qty="2">기어 부품</item> <item sku="X-2" qty="1">천공 카드 세트</item> </items> </order>
기본 규칙만 쓴 예시입니다. 요소마다 한 줄, 단계마다 두 칸입니다. 속성 순서, 따옴표, 값은 그대로이고 <name> 안의 텍스트도 그대로입니다.
규칙, 한계, 알려진 문제
- 구조 검사만 합니다. 태그 짝, 속성 따옴표·중복·구분, 요소와 속성 이름, 엔티티 문법을 봅니다. DTD나 XSD 검증, 엔티티 확장, 네임스페이스 접두사 연결 검사는 하지 않습니다.
- 구조 공백만 다시 씁니다. 속성 사이 공백과 텍스트가 없는 요소를 이루는 공백입니다. 속성 순서, 따옴표 스타일, 값, 엔티티, 주석, CDATA, DOCTYPE 내부 서브셋은 글자 하나까지 그대로 복사합니다.
- 혼합 콘텐츠는 다시 들여쓰지 않습니다. <p>안녕 <b>거기</b>!</p>에서 공백은 입력한 그대로입니다. 줄바꿈을 넣으면 텍스트가 바뀌기 때문입니다. xml:space="preserve"도 마찬가지로 그대로 복사합니다.
- 빈 요소는 입력한 형태를 유지합니다. <a></a>를 <a/>로 줄이지 않고 <a/>를 펼치지도 않습니다. 속성을 정렬하거나 따옴표를 통일하지 않습니다.
- 압축은 구조 공백만 지웁니다. 텍스트 공백, 주석, CDATA, DOCTYPE은 유지하며 콘텐츠에서 아무것도 지우지 않습니다.
- 입력 맨 끝에서 닫히지 않은 태그, 주석, CDATA, DOCTYPE은 오류가 아니라 경고입니다. 결과는 그대로 나옵니다. 실제 실수(태그 불일치, 따옴표 없는 속성 값, 떠도는 "&")는 줄과 열을 붙인 오류입니다.
- 프래그먼트(최상위 요소 여러 개나 루트 밖 텍스트)는 정리하고 프래그먼트라고 알려 줍니다. 요소가 하나도 없는 입력은 오류입니다.
- 줄과 열은 유니코드 코드 포인트로 셉니다. 그래서 이모지도 한 열입니다. 공백, 탭, 줄바꿈, 캐리지 리턴만 공백이며 텍스트 안의 U+3000이나 U+00A0은 콘텐츠라 지우지 않습니다.
- HTML은 아닙니다. </li>나 <br>처럼 생략된 닫는 태그는 닫히지 않은 것으로 보고합니다. 파일 업로드, URL 매개변수, 기록, 트리 보기, XML→JSON은 없습니다. 모든 처리가 브라우저에서 이루어지며 아무것도 업로드하거나 저장하지 않습니다.
- 20만 자를 넘으면 입력을 멈추고 약 0.6초 뒤 결과가 갱신되며 텍스트를 잘라 내지 않습니다. 출력은 LF를 쓰고 끝에 줄바꿈이 없으며 여러 번 정리해도 결과가 같습니다.
관련 도구
구조를 읽기 좋게 만든 뒤 흔히 이어서 쓰는 도구입니다.