XML / XPath / XSD

XSD 검증데이터와 스키마의 불일치 찾기

버튼 또는 Ctrl/Cmd+Enter로 실행하세요. 예제에는 주 스키마와 참조하는 타입 파일이 있습니다.

XSD 검증

XML 입력

현재 XSD

XML과 스키마 내용은 이 브라우저에서 처리하며 검증 서버로 전송하지 않습니다.

types/common.xsd 같은 ASCII 상대 경로를 사용하세요. 참조하는 스키마를 기준으로 해석하며 URL이나 가상 루트 밖의 경로는 허용하지 않습니다.

수동 실행, 엔진 로딩 포함 10초. XML과 각 스키마 1,000,000자, 스키마 합계 2,000,000자 및 20개, 깊이 100까지.

이전 결과입니다. 다시 검증하면 내보낼 수 있습니다.

XSD 검증은 XML을 열 수 있는지보다 한 단계 더 확인합니다. 태그가 모두 닫혀 있어도 정수 필드에 문자를 쓰거나 필수 요소를 빠뜨리면 받는 시스템의 스키마를 만족하지 못할 수 있습니다.

이 XML 검증 도구는 선택한 주 파일을 기준으로 XML 스키마 검증을 수행합니다. XML 유효성 검사에 필요한 참조 파일도 직접 지정하므로 문서의 URL에 따라 다른 규칙을 가져오지 않습니다.

XSD 검증으로 원인을 구분하세요

참조 파일까지 함께 검사

XSD 검증은 xs:include와 xs:import를 직접 제공한 파일 이름에 연결합니다. types.xsd의 수량 범위를 주 문서에 적용하며 파일이 빠지면 검증 실패로 알립니다.

주 스키마와 두 로컬 참조 파일이 하나의 XML 검사에 연결된 모습.

수정할 위치를 찾기

데이터의 타입 오류라면 XML을, 정의되지 않은 타입이라면 XSD를 살펴야 합니다. 엔진이 파일과 행을 제공하면 해당 입력으로 이동할 수 있으며 원래 제약 메시지도 남습니다.

XML의 잘못된 값이 원본 행과 진단 보고서에 연결된 모습.

실행 전에 확인할 세 가지

01

주 스키마 선택

기본 경로는 main.xsd입니다. 문서의 xsi:schemaLocation 힌트로 스키마를 교체하지 않습니다. 루트 요소를 정의하는 XSD와 그 참조 파일을 준비하세요.

02

상대 경로 맞추기

orders/main.xsd에서 ../types.xsd를 참조할 수 있지만 가상 루트 밖으로 나갈 수는 없습니다. UTF-8 파일을 읽은 후 경로를 편집하여 원래 폴더 관계를 맞추세요.

03

마지막 수정 후 다시 실행

텍스트나 경로를 바꾸면 실행 중인 작업이 취소되고 보고서가 오래된 상태로 바뀝니다. Ctrl/Cmd+Enter로 다시 실행하세요. 보고 있는 스키마만 바꾸면 검증 내용은 그대로입니다.

제약 확인과 결과 보관

먼저 규칙을 컴파일

libxml2 WASM이 XSD 1.0을 컴파일한 뒤 문서를 검사합니다. 정의되지 않은 타입과 잘못된 스키마 구조를 데이터가 제약을 어긴 경우와 다른 단계로 표시합니다.

순서와 자료형 확인

예제의 quantity는 1부터 100까지의 정수입니다. 필수 요소, 반복 횟수, sequence 순서와 네임스페이스 선언을 실제 엔진으로 평가하며 태그 이름만 비교하지 않습니다.

완료한 보고서 내보내기

적합 또는 부적합으로 완료된 결과를 JSON으로 복사하거나 저장합니다. 단계, 엔진과 진단을 기록합니다. 알 수 없는 열은 그대로 표시하며 실제로 1열에서 발생했다고 단정하지 않습니다.

지원 범위와 제한

지원 버전
XML 1.0과 XSD 1.0을 처리합니다. 인코딩 선언은 UTF-8만 허용하며 assert, alternative, override 등 XSD 1.1 기능은 거부합니다. 일반 schema version 속성은 응용 프로그램 버전 정보이며 엔진 버전을 바꾸지 않습니다.
명시적인 로컬 참조
include, import, redefine에는 schemaLocation이 필요합니다. ASCII 영문자·숫자·점·밑줄·하이픈·슬래시로 경로를 작성하세요. URL, 퍼센트 이스케이프, 절대 경로, 루트 이탈, xml:base와 DOCTYPE는 허용하지 않습니다.
처리량과 시간
XML과 개별 XSD는 각각 JavaScript 문자열 1,000,000자까지입니다. 주 파일을 포함한 스키마 합계는 2,000,000자와 20개, 깊이는 100입니다. 초기화부터 10초가 지나면 Worker를 종료합니다. 이 수치는 바이트 크기가 아닙니다.
진단 축약
최대 200개의 진단을 50개씩 보여 주고 각 메시지는 4,000자까지 보관합니다. 잘린 내용이 있으면 표시합니다. 실행 환경 오류와 오래된 보고서는 내보낼 수 없으며 한 번에 모든 오류를 찾는다고 보장하지 않습니다.
업무 승인과는 별개
XML 자동 수정, 스키마 생성, Schematron, 전자서명 확인은 수행하지 않습니다. 스키마가 맞아도 수신 API나 업무 시스템의 다른 규칙을 통과한다는 뜻은 아닙니다.
교체 내용 먼저 확인
예제, 비우기, 파일 읽기, 참조 제거는 적용 전에 미리 봅니다. 적용 후 한 번 실행 취소하면 입력과 이전 보고서가 함께 돌아옵니다. 직접 텍스트를 편집할 때는 즉시 반영하며 새로고침하면 작업이 보존되지 않습니다.

XSD 검증 질문과 답변

XML 문법 검사와 스키마 검사는 어떻게 다른가요?

문법 검사는 태그와 속성, 중첩의 올바른 구성을 확인합니다. 스키마 검사는 요소 순서와 타입 등의 선언까지 확인합니다. quantity에 zero를 넣은 XML은 문법상 읽을 수 있지만 정수 조건에는 맞지 않습니다.

입력한 XML 데이터가 서버에 전송되나요?

내용은 이 페이지의 Worker에서 처리합니다. 로컬 파일 선택은 파일을 현재 페이지로 읽는 작업이며 검증을 위해 서버에 올리지 않습니다. 복사와 저장은 직접 요청할 때만 수행됩니다.

네임스페이스와 CDATA가 있는 XML도 지원하나요?

네임스페이스와 CDATA가 있는 XML 1.0을 처리합니다. 다만 스키마에 해당 이름과 타입이 정의되어야 합니다. CDATA로 감싸도 내용의 자료형 제약이 사라지지 않습니다.

XML 파일에 인코딩 문제가 생기면 어떻게 해결하나요?

원본 파일을 올바른 인코딩으로 열어 UTF-8로 저장하고 선언도 맞춰 주세요. 의존 파일 읽기는 잘못된 UTF-8 바이트를 거부하며 붙여 넣은 문서는 UTF-8 선언만 허용합니다. 이 페이지는 Windows-1251 같은 다른 인코딩의 변환기가 아닙니다.

XML을 JSON으로 바꾸면 속성은 어떻게 되나요?

이 도구는 JSON 보고서를 만들 뿐 XML 데이터를 JSON으로 변환하지 않습니다. 속성 매핑이 필요하면 XML → JSON 도구에서 처리하세요. 보고서의 진단 데이터와 원본 XML의 속성은 서로 다른 내용입니다.

예상과 다른 진단이 있나요?

동일한 입력으로 재현하세요

XSD 검증 보고서를 공유할 때는 XML, 주 스키마, 참조 경로를 함께 보관하세요. 결과는 실행 당시의 입력 집합에만 해당합니다.