성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
[공진영] 안녕하세요 좋은글 감사합니다. 현재 제가 wpf로 관제 모...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <br /> <div style='font-family: 맑은 고딕, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>XmlCodeGenerator 1.0.0.4 업데이트</div><br /> <br /> 예전에 제가 만들어 두었던 XmlCodeGenerator... 아시죠? ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > XML/XSLT로 구현하는 매크로 확장 ; <a target='_tab' href='/2/0/542'>http://www.sysnet.pe.kr/2/0/542</a> </pre> <br /> 혹시나 싶어서 Visual Studio 2010에서 돌려보니 잘 구동되는 것을 확인했습니다.<br /> <br /> [그림 1: Visual Studio 2010에서 동작하고 있는 XmlCodeGenerator]<br /> <img alt='xmlcodegen_support_vs2010_1.png' src='/SysWebRes/bbs/xmlcodegen_support_vs2010_1.png' /><br /> <br /> 만약 기존에 이미 Visual Studio 2008에서 사용하고 있었다면 자동으로 Visual Studio 2010에 올라오지 않기 때문에 한 번 더 등록 과정을 거쳐주면 됩니다. 등록 과정도 간단하지요. ^^<br /> <br /> 아래의 경로에서 "Tools"을 실행시키고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > DeveloperToolManager.application ; <a target='_tab' href='http://www.sysnet.pe.kr/Tools/DeveloperToolManager.application'>http://www.sysnet.pe.kr/Tools/DeveloperToolManager.application</a> </pre> <br /> Visual Studio 2010이 설치된 상태에서 [그림 2]에서 보는 것처럼 "Overwrite" 버튼을 눌러주시면 정상적으로 XmlCodeGenerator 사용자 정의 도구를 사용할 수 있습니다. ^^<br /> <br /> [그림 2: XmlCodeGenerator 다시 등록]<br /> <img alt='xmlcodegen_support_vs2010_2.png' src='/SysWebRes/bbs/xmlcodegen_support_vs2010_2.png' /><br /> <br /> <hr style='width: 50%' /><br /> <br /> 그 외에 작지만 유용한 기능 업데이트들을 했습니다.<br /> <br /> <div style='font-family: 맑은 고딕, Consolas; font-size: 12pt; color: #2211AA; text-align: left; font-weight: bold'>1. XSLT 파일 찾기 기능 추가</div><br /> XSLT의 파일 찾기 순서가 다음과 같이 개선되었습니다.<br /> <br /> <ol> <li>XML 파일이 있는 폴더에서 XML 파일명과 동일한 이름의 XSLT 확장자를 가진 파일</li> <li>1번의 파일이 없으면, XML 파일이 있는 폴더에서 default.xslt 이름의 파일</li> <li>2번의 파일이 없으면, 루트 폴더까지 탐색하면서 1번과 같은 규칙의 XSLT 확장자를 가진 파일</li> <li>3번의 파일이 없으면, 루트 폴더까지 탐색하면서 default.xslt 이름의 파일</li> </ol> <br /> <div style='font-family: 맑은 고딕, Consolas; font-size: 12pt; color: #2211AA; text-align: left; font-weight: bold'>2. 프로젝트 Namespace를 xsl:param으로 전달받는 기능</div><br /> 드디어 ^^ 프로젝트의 네임스페이스를 전달받을 수 있도록 했습니다. 사용 방법은 간단합니다.<br /> 만약 프로젝트의 Namespace 설정이 아래와 같이 "My.TestTool"로 설정되이 있는 경우,<br /> <br /> [그림 3: 프로젝트의 기본 네임스페이스]<br /> <img alt='xmlcodegen_support_vs2010_3.png' src='/SysWebRes/bbs/xmlcodegen_support_vs2010_3.png' /><br /> <br /> 이 문자열을 XSLT에서 얻기 위해 다음과 같이 "XCG_Namespace"라는 이름의 xsl:param으로 받아서 사용할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" > <b style='COLOR: blue'><xsl:param name="XCG_Namespace"/></b> <xsl:template match="definitions"> /* Namespace: <b style='COLOR: blue'><xsl:value-of select="$XCG_Namespace"</b> /> */ </xsl:template> </xsl:stylesheet> </pre> <br /> 만약 특정 XML에서만 네임스페이스를 변경하고 싶다면 Visual Studio에서 해당 XML 파일을 선택하고, 다음과 같이 속성창에서 "Custom Tool Namespace"를 바꿔줄 수 있습니다.<br /> <br /> [그림 4: Custom Tool Namespace 변경]<br /> <img alt='xmlcodegen_support_vs2010_4.png' src='/SysWebRes/bbs/xmlcodegen_support_vs2010_4.png' /><br /> <br /> <div style='font-family: 맑은 고딕, Consolas; font-size: 12pt; color: #2211AA; text-align: left; font-weight: bold'>3. 중앙 관리화할 수 있는 XSLT 파일 찾기</div><br /> 위의 1번 과정에서 설명한 XSLT 파일 찾기의 경우 프로젝트가 위치한 폴더 기반의 상위 루트에 XSLT 파일이 있도록 해두었는데 어찌 보면 이런 파일 경로 풀이는 매우 불편할 수 있습니다. 그래서 생각해 낸 것이 XSLT 파일을 중앙 관리할 수 있는 경로 풀이를 하나 더 추가했습니다. 사용법 역시 매우 간단합니다.<br /> <br /> 사용자는 XML 파일에 다음과 같이 "xcg-xsltKey"라는 Processing Instruction을 두어서 XSLT 파일을 구분할 수 있는 키를 정의할 수 있도록 했습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > <?xml version="1.0" encoding="utf-8" ?> <b style='COLOR: blue'><?xcg-xsltKey</b> WPF.ClassMemberDef?> <my> </my> </pre> <br /> 위에서는 xcg-xsltKey 값으로 "WPF.ClassMemberDef"가 설정되어 있는데요. 이렇게 되면 이 XML 파일을 변형할 XSLT 파일을 다음의 경로에서 찾게 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > XSLT 경로: [XmlCodeGenerator가 설치된 경로]\WPF.ClassMemberDef.xslt </pre> <br /> 만약, XmlCodeGenerator를 "C:\Tools"에 설치했다면 찾아오는 XSLT 경로는 "C:\Tools\WPF.ClassMemberDef.xslt"가 됩니다. 이렇게 되면 모든 프로젝트에서 동일한 "xcg-xsltKey"라는 동일한 PI(Processing Instruction)를 두고 재사용하는 것이 가능합니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 뭐... 이 정도면 많이 쓸만해졌죠! ^^<br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1231
(왼쪽의 숫자를 입력해야 합니다.)