XML / XPath / XSD

XSD를 JSON 스키마로 변환매핑과 누락을 항목별로 확인

XSD를 붙여 넣거나 예제를 불러온 뒤 대상 초안과 매핑 보고서를 확인하세요.

XSD를 JSON 스키마로 변환

XSD 입력

JSON 스키마 결과

스키마는 브라우저에서 처리하며 업로드하지 않습니다.

변환 옵션

XML 속성에는 고정된 @ 접두사를 붙입니다.

XSD를 붙여 넣거나 예제를 불러오세요.

XSD를 JSON 스키마로 변환하는 일은 기존 XML 계약을 JSON API로 옮길 때 필요합니다. 이 도구는 XML 데이터가 아니라 XSD 정의를 받아 JSON 검증 규칙을 만듭니다.

XML 스키마 JSON 변환에서는 전역 요소 중 실제 문서 루트를 골라야 합니다. 출력과 함께 근사 매핑을 보고하므로 두 규격이 같다고 가정하지 않아도 됩니다.

XSD를 JSON 스키마로 변환할 때 얻는 것

생성된 규칙과 변환 근거를 함께 봅니다.

매핑 손실을 항목별로 기록

XSD를 JSON 스키마로 변환할 때 요소와 속성의 원본 경로를 남깁니다. 순서, 네임스페이스와 정규식의 차이를 근사로 표시하고 누락된 규칙도 숨기지 않습니다.

XSD 구조가 JSON 스키마와 항목별 매핑 보고서로 나뉘는 그림.

여러 전역 요소에서 루트 선택

하나의 XSD에 전역 요소가 여럿이면 실제 문서 루트를 고릅니다. 선택한 값은 출력 참조와 보고서에 함께 반영됩니다.

두 전역 XSD 요소가 서로 다른 JSON 스키마 루트로 이어지는 그림.

내보내기 전에 확인할 세 가지

01

문서 루트 확인

전역 요소가 여러 개면 첫 변환 뒤 루트 선택기를 사용하세요. 기본값은 첫 요소이며 변경하면 이전 결과는 오래된 것으로 표시됩니다.

02

초안 버전 결정

기본값은 2020-12이고 Draft-07도 선택할 수 있습니다. $schema와 정의 키가 함께 바뀝니다. 자동 변환을 끄면 Ctrl/Cmd+Enter로 실행할 수 있습니다.

03

손실 보고서 검토

결과 JSON 스키마가 유효해도 원래 XSD와 동등하다는 뜻은 아닙니다. 원본 경로별 근사 및 미변환 항목을 확인한 뒤 저장하세요.

구조를 옮기고 결과를 검증

타입과 재사용 정의

이름 있는 단순 타입과 복합 타입을 재사용 정의로 만듭니다. 열거형, 길이, 수치 경계는 대응 가능한 제약으로 옮깁니다.

요소, 배열, 속성

minOccurs로 필수 여부를 정하고 maxOccurs로 배열을 만듭니다. XML 속성에는 @ 접두사를 붙여 같은 이름의 자식 요소와 구별합니다.

초안별 결과 검증

선택한 JSON 스키마 초안으로 출력물을 컴파일하고 내부 참조를 확인합니다. 실패하면 복사와 다운로드를 막습니다.

두 스키마의 의미가 다른 지점

스키마는 데이터가 아닙니다
XSD 정의를 JSON 스키마로 바꾸는 도구입니다. XML 데이터를 JSON으로 바꾸거나 출력 스키마로 XML 인스턴스를 검사하지 않습니다.
완전한 무손실 변환은 아닙니다
XML 요소의 순서와 속성 네임스페이스는 일반 JSON 객체에 그대로 담을 수 없습니다. 근사와 미지원 규칙을 보고서에 표시합니다.
외부 스키마를 가져오지 않습니다
xs:include, xs:import 등이 있으면 내보내기를 차단합니다. 네트워크에서 의존 파일을 읽지 않으므로 먼저 단일 스키마로 정리해야 합니다.
지원 범위와 크기 제한
XSD 1.1 단언, 식별 제약과 혼합 콘텐츠는 수동 검토 대상입니다. DOCTYPE은 거부하며 입력 문자와 노드 수에 상한이 있습니다.

XSD를 JSON 스키마로 변환할 때 자주 묻는 질문

기존 XSD에서 JSON 스키마를 생성할 수 있나요?

기존 XSD를 붙여 넣고 전역 루트와 대상 초안을 선택하세요. 생성 후 매핑 보고서에서 누락된 의미를 확인하고 필요한 규칙을 수동으로 보완합니다.

XSD 속성은 JSON 스키마에서 어떻게 표현하나요?

아니요. 두 스키마는 서로 다른 데이터 모델을 기술합니다. 출력이 초안에 맞더라도 순서와 네임스페이스까지 완전히 보존됐다는 뜻은 아닙니다.

반복 요소는 배열로 바뀌나요?

속성은 @ 접두사가 붙은 JSON 객체의 속성으로 표시됩니다. 이름이 같은 자식 요소와 충돌하지 않지만 XML 네임스페이스 의미는 별도 검토가 필요합니다.

두 스키마의 제약이 완전히 같아지나요?

반복 요소는 items가 있는 배열이 됩니다. minOccurs와 유한한 maxOccurs는 minItems 및 maxItems로 옮깁니다.

변환 결과의 스키마 버전은 무엇인가요?

기본값은 2020-12이고 Draft-07도 지원합니다. 선택을 바꾸면 $schema와 정의 키가 함께 변경되며 결과를 해당 초안으로 다시 검증합니다.

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

보고서를 보며 XSD를 JSON 스키마로 변환

실제 XSD를 JSON 스키마로 변환하고 루트를 확인한 다음, 근사 및 미변환 제약을 검토하고 API 계약에 사용하세요.