XML 도구

XML에서 XSD 생성실제 샘플로 스키마 초안 만들기

두 번째 XML 문서를 추가해 어떤 필드가 선택 사항이 되는지 확인하세요.

XML에서 XSD 생성

XML 샘플

XSD 초안

샘플은 이 브라우저에서 처리됩니다. 로컬 파일을 업로드하지 않습니다.

추론 옵션

최대 샘플 20개, 각 100만 자, 합계 200만 자, 깊이 100. 빈 샘플은 제외합니다.

결과가 오래되어 내보낼 수 없습니다.

연동 상대가 XML 응답 예제만 제공했을 때 XML에서 XSD 생성 기능으로 관찰된 구조를 정리할 수 있습니다. 샘플은 실제로 나온 값만 보여 주며 허용 가능한 모든 경우를 증명하지는 않습니다.

XML 스키마 자동 생성 결과는 입력한 모든 샘플로 다시 검사합니다. 순서나 네임스페이스를 정확히 표현할 수 없으면 그럴듯한 결과를 내보내는 대신 오류를 알립니다.

왜 XML에서 XSD 생성 도구를 쓸까요?

여러 문서에서 빠진 필드 찾기

같은 루트의 두 문서 중 한쪽에만 필드가 있으면 XML에서 XSD 생성 결과에 minOccurs=0을 넣습니다. 같은 부모 아래 반복되는 요소는 maxOccurs=unbounded로 표시하며 보지 못한 분기는 추측하지 않습니다.

두 XML 샘플 트리가 합쳐지고 한쪽에 없는 필드에 선택 표시가 붙은 그림.

이름이 같아도 부모별로 구분

고객의 name과 상품의 name은 다른 구조일 수 있습니다. 부모 경로마다 별도의 지역 선언을 만들고 첫 샘플만이 아니라 모든 입력을 검사합니다.

서로 다른 부모 아래 같은 이름의 노드가 별도 스키마 선언으로 이어지는 그림.

샘플이 알려 주는 범위 이해하기

01

완전한 문서 하나씩 추가

샘플마다 XML 루트가 하나씩 있어야 합니다. 빈 편집기는 무시합니다. 두 번째 문서에서 처음에는 보이지 않던 선택 자식이나 속성을 발견할 수 있습니다.

02

값의 해석 방식 선택

Smart는 불리언, 수치, ISO 날짜를 조심스럽게 추론합니다. 001 같은 코드까지 항상 문자로 남기려면 String을 선택하세요. 자동 생성은 400ms 뒤 실행되며 끄면 Ctrl/Cmd+Enter를 쓸 수 있습니다.

03

초안의 주장 확인

성공은 XSD 1.0으로 컴파일되고 입력 샘플이 모두 통과했다는 뜻입니다. minOccurs, maxOccurs, 추론된 형식과 xs:sequence 순서를 업무 계약과 비교하세요.

관찰된 XML을 검증 가능한 초안으로

여러 예제 병합

XML 스키마 생성은 같은 루트의 문서를 합칩니다. 어떤 부모 인스턴스에 자식이 없으면 선택 요소로, 같은 부모 아래 반복되면 최대 횟수를 무한대로 기록합니다. 속성도 관찰된 유무로 판단합니다.

값 형식은 보수적으로 추론

XSD 생성기는 명확한 불리언, 정수, 소수, ISO 날짜만 구분합니다. 빈 값, 충돌하는 형식, 앞에 0이 붙은 코드는 xs:string으로 남기며 범위나 열거형을 만들지 않습니다.

내보내기 전 전부 검사

지역 요소 선언으로 서로 다른 부모의 동명 요소를 구분합니다. 브라우저 작업자가 XSD를 컴파일하고 모든 샘플을 검사한 뒤에야 전체 내용을 복사하거나 저장할 수 있습니다.

추론과 입력의 경계

관찰된 필수는 업무상의 필수가 아님
모든 샘플에 보이는 필드는 초안에서 필수로 기록합니다. 실제 누락을 관찰한 경우에만 minOccurs=0을 씁니다. 업무에서 선택 사항이라면 직접 수정해야 합니다.
업무 제약을 만들어 내지 않음
열거형, 정규식, 범위, 키, 기본값, 필드 간 조건은 추론하지 않습니다. 앞에 0이 있는 식별자는 문자열로 유지하고 형식 충돌도 xs:string으로 넓힙니다.
같은 루트와 하나의 네임스페이스
비어 있지 않은 샘플의 루트 확장 이름이 같아야 합니다. 두 번째 네임스페이스, 네임스페이스 속성, 혼합 콘텐츠, 모순된 형제 순서는 명시적으로 거부합니다.
로컬 XML 1.0만 처리
붙여넣기와 로컬 UTF-8 파일을 지원합니다. DOCTYPE, 사용자 정의 엔터티, XML 1.1, URL 가져오기, 외부 스키마는 처리하지 않고 XSD 1.0 파일 하나를 만듭니다.
다른 문서는 따로 검증
샘플 최대 20개, 합계 200만 자, 깊이 100입니다. 내장 검사는 입력한 샘플에만 적용합니다. 새 XML은 별도의 XSD 검증 도구에서 시험하고 수신 시스템의 규칙도 확인하세요.

XML에서 XSD 생성에 관한 질문

XML 파일에서 XSD를 어떻게 생성하나요?

완전한 XML을 붙여넣거나 로컬 파일을 읽으면 XML에서 XSD 생성 기능이 초안을 만듭니다. 같은 루트의 다른 문서를 추가하면 누락과 반복을 더 확인할 수 있습니다.

반복되는 요소는 maxOccurs로 표시되나요?

같은 부모 밑에서 동일한 이름이 여러 번 나오면 maxOccurs="unbounded"를 씁니다. 샘플에 반복이 있다는 뜻이지 실제 최대 횟수가 무제한임을 증명하지는 않습니다.

샘플에 없는 선택 요소도 알 수 있나요?

알 수 없습니다. 어떤 부모 사례에서 자식이 빠진 경우에만 minOccurs=0으로 추론합니다. 모든 샘플에 나타난 필드도 업무상 선택 사항일 수 있습니다.

숫자처럼 보이는 문자열은 어떤 형식으로 추론되나요?

Smart는 앞에 0이 없는 숫자를 정수로 볼 수 있습니다. 001은 문자열로 남지만 우편번호 같은 식별자는 String 모드로 고정하는 편이 안전합니다.

생성한 XSD로 다른 XML을 바로 검증할 수 있나요?

현재 샘플은 검사하지만 새 문서의 다른 순서나 값까지 보장하지 않습니다. 별도 XSD 검증 도구로 시험하고 필요한 규칙을 초안에 추가하세요.

추론 결과가 예상과 다른가요?

XML에서 XSD 생성으로 초안 만들기

XML에서 XSD 생성에 대표 문서를 하나 더 넣어 선택 요소와 반복을 살펴본 뒤 새로운 문서로 다시 검증하세요.