Microsoft MVP성태의 닷넷 이야기
.NET Framework: 72. XSDObjectGen.EXE 기능 개선 [링크 복사], [링크+제목 복사],
조회: 21498
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

기존의 XSDObjectGen.exe 에서 아쉬웠던 부분들을 나름대로 개선한 버전을 SmallTool ver 1.0.0.9 버전에 포함시켰습니다.

대표적으로, 스키마 상속 처리 및 Enum 형에 대한 처리를 개선했고, 소스 코드 자동 생성에 관한 VS.NET 2005 Add-in 을 포함시켰습니다. (Add-in 자체는 VS.NET 2003 에서도 구동이 되지만, 소스 코드 생성이 .NET 2.0 을 기준으로 맞춰져 있습니다.)

보다 자세한 부분은 다음의 링크를 참조하십시오.

Small Tool 다운로드
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=-

스키마 상속 처리 (1)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=28

스키마 상속 처리 (2)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=30

스키마 상속 처리 (3)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=32

partial class 생성
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=27

Enum 처리
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=26

정리해 보면, 제가 수정한 XSDObjectGen.exe 를 사용하는 경우 Enum 처리의 경우는 기존의 소스를 그대로 유지하셔도 상관없습니다.
Enum 관련 스키마의 하위에 annotation 노드가 없다면 기존의 XSDObjectGen.exe 와 동일하게 소스 생성을 합니다.

하지만, import 를 통해서 다른 스키마에서 가져온 경우라면 기존 방식 처럼 콘솔에서 직접 입력하는 것을 지원하지 않습니다.
자동으로 이뤄지게 되어 있는 데요. 그를 위해서 import 되는 그 스키마 파일안에, 콘솔에서 입력받던 것과 동일한 코드 네임스페이스를 annotation 에 포함시켜 주시면 됩니다.

기타 건의 사항이 있으시면 언제든지 메일 주십시오.








[최초 등록일: ]
[최종 수정일: 7/1/2006]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
14014정성태9/17/2025271닷넷: 2364. C# - stun.l.google.com을 사용해 공용 IP 주소와 포트를 알아내는 방법파일 다운로드1
14013정성태9/14/2025598닷넷: 2363. C# - Whisper.NET Library를 이용해 음성을 텍스트로 변환 및 번역하는 예제파일 다운로드1
14012정성태9/9/2025885닷넷: 2362. C# - Windows.Media.Ocr: 윈도우 운영체제에 포함된 OCR(Optical Character Recognition)파일 다운로드1
14011정성태9/7/20251545닷넷: 2361. C# - Linux 환경의 readlink 호출
14010정성태9/1/20251558오류 유형: 983. apt update 시 "The repository 'http://deb.debian.org/debian buster Release' does not have a Release file." 오류
14009정성태8/28/20252042닷넷: 2360. C# 14 - (11) Expression Tree에 선택적 인수와 명명된 인수 허용파일 다운로드1
14008정성태8/26/20252386닷넷: 2359. C# 14 - (10) 복합 대입 연산자의 오버로드 지원파일 다운로드1
14007정성태8/25/20252742닷넷: 2358. C# - 현재 빌드에 적용 중인 컴파일러 버전 확인 방법 (#error version)
14006정성태8/23/20252899Linux: 121. Linux - snap 패키지 관리자로 설치한 소프트웨어의 디렉터리 접근 제한
14005정성태8/21/20252385오류 유형: 982. sudo: unable to load /usr/libexec/sudo/sudoers.so: libssl.so.3: cannot open shared object file: No such file or directory
14004정성태8/21/20252686오류 유형: 981. dotnet 실행 시 No usable version of the libssl was found
14003정성태8/21/20252925닷넷: 2357. C# 14 - (9) 새로운 지시자 추가 (Ignored directives)
14002정성태8/20/20252922오류 유형: 980. C# - appsettings.json 파일의 설정값이 적용 안 된다면?
14001정성태8/19/20256261닷넷: 2356. .NET SDK 10 - 단일 소스 코드 파일을 빌드/실행하는 기능을 "dotnet" 명령어에 추가 [1]
14000정성태8/18/20253022오류 유형: 979. ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
13999정성태8/15/20252991닷넷: 2355. C# 14 - (8) null 조건부 연산자 개선 - 대입문에도 사용 가능파일 다운로드1
13998정성태8/14/20252932닷넷: 2354. C# 14 - (7) 확장 메서드에 정적 메서드와 속성 지원을 위한 전용 구문 추가파일 다운로드1
13997정성태8/14/20253081Linux: 120. docker 컨테이너로 매핑된 볼륨에 컨테이너 측의 사용자 ID를 유지하면서 복사하는 방법
13996정성태8/13/20252480오류 유형: 978. Unable to find the requested .Net Framework Data Provider.
13995정성태8/13/20252669개발 환경 구성: 754. Visual C++ - 리눅스 빌드를 위한 Ubuntu 18 docker 컨테이너 설정
13994정성태8/12/20252373오류 유형: 977. SQL Server - User, group, or role '...' already exists in the current database. (Microsoft SQL Server, Error: 15023)
13993정성태8/11/20253205오류 유형: 976. Microsoft.ML.OnnxRuntimeGenAI 패키지 사용 시 "cublasLt64_12.dll" which is missing. (Error 126: "The specified module could not be found.") 오류
13992정성태8/11/20253137닷넷: 2353. C# - Foundry Local을 이용한 gpt-oss-20b 모델 사용파일 다운로드1
13991정성태8/9/20252886오류 유형: 975. winget - Foundry Local 패키지 업데이트가 안 되는 문제
13990정성태8/8/20252394Windows: 283. Time zone 설정이 없는 Windows Server 2025
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...