[물론, 이것을 테스트하시려면, SmallTool 을 클라이언트에 설치하셔야 합니다.]
XSDObjectGenerator 에 대해 잠시 소개를 드리면, XSD 스키마에 기반해서 .NET Entity 클래스를 생성하는 것이라고 보시면 됩니다.
예를 들어, 아래와 같은 유형의 XSD 파일을 여러분들이 정의하시면.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="DataTypes" targetNamespace="http://tempuri.org/DataTypes.xsd"
elementFormDefault="qualified" xmlns="http://tempuri.org/DataTypes.xsd"
xmlns:mstns="http://tempuri.org/DataTypes.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="TFSAddItemT">
<xs:attribute name="Name" type="xs:string" />
<xs:attribute name="Port" type="xs:int" />
</xs:complexType>
</xs:schema>
VS.NET 2005 에서는 다음과 같이 XSD Designer 화면을 통해서 TFSAddItemT Complex Type 이 정의된 것을 확인해 보실 수 있습니다.
자, 그럼 위와 같이 정의된 XSD 파일을 XSDObjectGen.exe 파일에 다음과 같은 명령행으로 실행을 시키면 C# 클래스 파일이 생성되게 됩니다.
xsdobjectgen.exe DataTypes.xsd /l:cs /f:test.cs /n:WebLib.Test
실행한 후에는, "test.cs" 라는 파일이 생성되는 데 VS.NET 2005 의 클래스 디자이너로 보면 다음과 같이 정의되어져 있습니다.
자동 생성된 이 클래스를 실제로 다음과 같이 사용을 하실 수 있습니다.
private void Form1_Load(object sender, EventArgs e)
{
TFSAddItemT item = new TFSAddItemT();
item.Name = "MyName";
item.Port = 80;
}
다 좋은데... ^^ 한가지 별로 멋있지 않은 면이 있습니다. 위의 단계에서 XSD 를 C# 클래스로 변환하는 것을 명령행에서 (보통 batch 파일을 이용합니다.) 처리를 한다는 것입니다.
하지만, 여러분들이 SmallTool 을 설치했다면 이젠 그렇게 하실 필요없습니다.
방법은 매우 간단합니다.
아래와 같이 해당 XSD 파일을 클릭하고, "Custom Tool" 에 "STXSDObjectGen" 이라고 주면 그만입니다.
위의 그림에서 보시는 것처럼, DataTypes.xsd 파일 하위로 DataTypes.cs 파일이 생성됩니다. 물론, DataTypes.xsd 파일을 편집하고 "저장" 하기를 하는 순간, DataTypes.cs 파일도 내용이 그대로 반영됩니다. 소스 세이프 등에서의 체크아웃도 자동으로 이뤄집니다. ^^
그럼... 좀 편해질 수 있겠지요. ^^