XSD 생성기 (XML을 XML 스키마로)
XML 샘플 하나 이상으로 XML 스키마(XSD)를 만듭니다. 요소 구조, minOccurs/maxOccurs, 필수 속성, 추론한 단순 타입까지 한 번에 정리합니다.
샘플에서 추론한 스키마는 샘플에 나타난 내용만 압니다. minOccurs, 필수 속성, 타입을 검토하고, 데이터에 규칙이 있다면 열거형, 패턴, 범위를 추가하세요.
XML 스키마(XSD)는 XML 문서에 어떤 요소와 속성이 몇 번, 어떤 순서와 타입으로 올 수 있는지를 정의합니다. 검증기, 코드 생성기, 연동 업체가 모두 XSD를 요구하지만 처음부터 쓰기는 번거롭습니다. 샘플 문서를 하나 이상 붙여넣으면 요소와 중첩, 순서, 샘플에서 읽은 minOccurs·maxOccurs, 필수·선택 속성, 값에서 추론한 단순 타입까지 담은 XSD 초안을 만들어 줍니다. 중첩형(러시아 인형)과 이름 있는 타입형(베네치안 블라인드) 중에서 고를 수 있습니다.
사용 방법
- 샘플 문서를 붙여넣습니다. 선택 요소나 반복 요소를 반영하려면 --- 만 적은 줄로 구분해 여러 개를 붙여넣으세요.
- 러시아 인형(중첩 선언 하나) 또는 베네치안 블라인드(재사용 가능한 이름 있는 복합 타입)를 고릅니다.
- 단순 타입을 추론할지, xs:string으로 둘지 정합니다.
- XSD를 복사한 뒤 열거형, 패턴, 길이, 범위를 직접 추가해 다듬습니다.
계산식
부모마다 요소가 나옴 → minOccurs 1 · 어딘가에서 빠짐 → minOccurs="0" · 한 부모 안에 두 번 이상 → maxOccurs="unbounded" · 모든 요소에 속성이 있음 → use="required"
단순 타입은 true/false면 xs:boolean, 정수면 xs:integer, 소수면 xs:decimal, 실제 달력상의 날짜인 ISO 8601 값이면 xs:date·xs:dateTime이고, 그 밖에는 xs:string입니다(값이 가끔 비어 있을 때도 xs:string). 속성과 텍스트를 함께 가진 요소는 simpleContent를 쓰고, 항상 비어 있는 요소에는 빈 complexType을 붙입니다. 자식 요소의 순서가 서로 다르면 xs:all을, 반복되는 요소가 섞여 있으면 unbounded xs:choice를 씁니다. 루트의 네임스페이스는 targetNamespace가 됩니다.
예시
샘플 catalog에서는 <xs:element name="catalog"> 안에 maxOccurs="unbounded"인 book이 만들어집니다. 각 book에는 필수 id와 선택 lang 속성이 있고, title은 xs:string, price는 base가 xs:decimal이고 필수 currency 속성을 가진 simpleContent이며, published는 첫 번째 book에만 있어서 minOccurs="0"인 xs:date입니다. tag는 minOccurs="0", maxOccurs="unbounded"인 xs:string입니다.
자주 묻는 질문
만들어진 스키마를 그대로 써도 되나요?
아닙니다. 스키마는 규칙이 아니라 샘플을 설명합니다. 샘플에 우연히 항상 있던 필드는 필수가 되고, 값의 타입도 샘플이 허용하는 만큼 일반적으로 만들어집니다. 업체에 넘기기 전에 꼭 검토하세요.
러시아 인형과 베네치안 블라인드 중 무엇이 좋을까요?
러시아 인형은 모든 선언을 부모 안에 중첩해서 간결하고 읽기 쉽습니다. 베네치안 블라인드는 복합 타입마다 이름을 붙여 재사용과 확장이 가능해서, 큰 스키마나 코드 생성기에 알맞습니다.
여기서 XML을 XSD로 검증할 수 있나요?
아직은 안 됩니다. 이 사이트는 XML 검증기로 올바른 형식인지만 확인합니다. XSD 검증은 xmllint --schema, IDE, 사용 중인 플랫폼의 검증기를 이용하세요.
XML이 업로드되나요?
아닙니다. 스키마는 브라우저에서 만들어집니다.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/xsd-generator/
인용·퍼가기
kakaoCalc. (2026, November 8). XSD 생성기 (XML을 XML 스키마로). https://kakao.mobile/ko/tools/xsd-generator/
“XSD 생성기 (XML을 XML 스키마로).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/xsd-generator/.