---
title: "XML을 XSD로 변환: 여러 XML 인스턴스에서 스키마 생성하기"
date: "2021-08-25"
categories: 
  - "development"
  - "tools"
  - "xml"
tags: 
  - "xml-editor"
  - "xml-schema"
  - "xmlspy"
  - "xsd"
description: XMLSpy는 강력한 XML 편집기로, 관련된 여러 XML 파일을 사용하여 XSD 스키마를 생성하는 방법을 알려드립니다. 이 도구를 사용하면 스키마 생성을 간편하게 할 수 있습니다.
---
Status: #blog

Tags:  #xml-editor #xml-schema #xmlspy #xsd

Categories: [development](/blog/ko/category/development.md) | [xml](/blog/ko/category/xml.md)
# XML을 XSD로 변환: 여러 XML 인스턴스에서 스키마 생성하기

최근 저희 지원 엔지니어 중 한 분과 고객들로부터 자주 받는 질문들에 대해 이야기를 나누었습니다. 그 중에서도 "XML 파일로부터 XSD 파일을 어떻게 생성할 수 있나요?"라는 질문이 자주 등장합니다. 물론, 가장 좋은 방법은 사용하시는 XML 편집기를 사용하는 것입니다. XMLSpy는 DTD, 관계형 데이터베이스 구조, JSON 스키마, 그리고 XML 인스턴스 등으로부터 유효한 XSD 파일을 생성할 수 있습니다.

하지만 많은 고객들이 놀라워하는 점은, 이 XML 편집기가 특정 내용을 기반으로 XML 스키마(XML 스키마는 XML 문서의 구조를 정의하는 데 사용되는 표준)를 자동으로 생성한다는 것입니다 _그룹_ 관련된 XML 파일들을 처리하는 것은 흔히 요구되는 기능입니다. 이제 그 작동 방식을 살펴보겠습니다.

![](/blog/images/PR112123_700x335.jpg)

<!--more-->

## XSD 파일을 생성합니다

만약 제가 웹 개발 프로젝트를 상속받았고, 시작점으로 XML 파일 모음만 받았다고 가정해 봅시다. 그런데 [XML 스키마](https://www.w3.org/XML/Schema). 해당 파일들에 대한 XSD를 생성하기 위해, 먼저 이 파일들을 XMLSpy 프로젝트에 추가해야 합니다. 이렇게 하면 나중에 프로젝트가 관련된 모든 파일을 하나의 폴더 그룹으로 묶어 관리하기 쉬워집니다. 이를 통해 특정 파일을 검색하고, XSLT 변환을 적용하며, 프로젝트 전체에 대한 유효성 검사나 파일 내 검색과 같은 일괄 작업을 수행하는 등 다양한 작업을 편리하게 수행할 수 있습니다.

XMLSpy 프로젝트 자체에 대해 잠시 이야기해 볼 가치가 있습니다. 폴더는 파일 시스템의 실제 디렉터리와 일치할 수도 있고, 각 폴더에 대해 파일 형식 확장자를 정의하여 자주 사용하는 파일을 한 곳에 모아 편리하게 관리할 수도 있습니다. 프로젝트 폴더는 가상 폴더이며, 서버에 저장된 파일의 계층 구조와 반드시 일치할 필요는 없습니다.

저는 각 폴더에 서로 다른 XSL 변환 매개변수를 지정할 수 있으며, 동일한 물리적 파일을 여러 프로젝트 폴더에 포함시킬 수 있습니다. 이는 데이터를 하나의 XML 파일에 보관하고, 다양한 XSL 스타일시트를 사용하여 서로 다른 결과를 생성해야 할 때 특히 유용합니다. 또한, XMLSpy 프로젝트 관리 기능은 대부분의 소스 제어 시스템과 통합됩니다.

알겠습니다. 이제 [XSD 파일 생성](https://www.altova.com/ko/xmlspy-xml-editor/xsd-to-xml)으로 돌아가겠습니다. 첫 번째 단계는 프로젝트 메뉴에서 "새 프로젝트"를 선택하는 것입니다. XMLSpy는 다양한 파일 유형을 위한 임시 폴더가 포함된 기본 프로젝트를 생성합니다. 필요에 따라 사용자 정의 폴더를 추가하는 것이 간단합니다. 제가 받은 파일을 이 새 프로젝트에 추가하려면, "XML 파일" 폴더를 마우스 오른쪽 버튼으로 클릭하고 "파일 추가..."를 선택합니다

![XML 프로젝트 생성하기](https://lh3.ggpht.com/-CU_6VD_ekWM/UP6ivUhf0nI/AAAAAAAAATE/NjKHHB7Ms7Q/clip_image001_thumb.png?imgmax=800 "Creating an XML Project")

...그리고 웹사이트에 사용할 XML 파일을 선택하여 불러옵니다. 이 단계에서 프로젝트를 설명적인 이름으로 저장하는 것이 좋습니다. 또한, 이렇게 하면 새로 추가된 파일 연결 정보가 프로젝트에 함께 저장됩니다.

![XML 프로젝트](https://lh5.ggpht.com/-V3GvW60FxRw/UP6iwRG9DuI/AAAAAAAAATU/nm9geL3zWhA/clip_image002_thumb.png?imgmax=800 "XML Project")

이제 XML 파일 폴더에서 마우스 오른쪽 버튼을 클릭하고 "DTD/스키마 생성..."을 선택한 다음, 설정 가능한 옵션을 검토하거나 업데이트하면 됩니다.

![XMLSpy에서 제공하는 XSD를 이용한 XML 생성 기능](https://lh3.ggpht.com/-tqOErpnsdVo/UP6ixFWQwAI/AAAAAAAAATk/1TCQL6s_ubM/clip_image003_thumb.png?imgmax=800 "Generate XSD Dialog")

이 기능을 사용하면 폴더에 포함된 모든 XML 파일을 기반으로 XSD 파일을 생성합니다. "확인"을 클릭하면 자동으로 생성된 XML 스키마 파일을 저장하라는 메시지가 나타나고, 해당 파일이 "[그래픽 XML 스키마 보기](https://www.altova.com/ko/xml-schema-editor.html)" 창에서 열립니다. 다음은 XML 인스턴스 파일을 기반으로 생성된 전역 요소들입니다

![다양한 XML 데이터 인스턴스를 기반으로 생성된 XSD 스키마](https://lh6.ggpht.com/-5xXyRqVd_jo/UP6ixwkADUI/AAAAAAAAAT0/UQ5bJfBpFaY/clip_image004_thumb.png?imgmax=800 "Schema Globals")

어떤 요소 옆에 있는 나무 모양 아이콘을 클릭하면 해당 요소의 상세 내용 모델이 표시됩니다.

![편집 가능한 XSD 콘텐츠 모델](https://lh4.ggpht.com/-V7dptViaW9w/UP6iypwrRqI/AAAAAAAAAUE/RI7IL9P1Ojg/clip_image005_thumb.png?imgmax=800 "XSD Content Model")

[XSD 편집기](https://www.altova.com/ko/xmlspy/xsd-editor.html)의 그래픽 디자인 방식은 사용자가 필요에 따라 이 스키마를 쉽게 수정하고 편집할 수 있도록 지원합니다.

그게 전부입니다. 몇 가지 간단한 단계를 거쳐, 특정 파일들의 데이터를 기반으로 유효한 스키마를 생성할 수 있습니다.

XMLSpy의 어떤 기능들이 일상 업무를 더 쉽게 만들어 주나요? 아니면, 추가되었으면 좋을 만한 시간 절약 기능이 있나요? 여러분의 의견을 듣고 싶습니다. 아래에 댓글을 남겨주세요!
