XML 기반 데스크 톱 응용 프로그램

앞에서 언급 했 듯 이 XSL 을 통 해 우 리 는 같은 데 이 터 를 터미널 고객 에 게 서로 다른 데이터 형식 으로 제출 할 수 있 습 니 다.하나의 XSL 파일 은 데이터 의 표시 방식 을 설명 합 니 다.많은 XSL 과 같은 XML 문 서 를 연결 하여 서로 다른 HTML 기반 표 시 를 제공 할 수 있 습 니 다.그러면 사실상 우 리 는 XML 기반 데스크 톱 응용 프로그램 을 만 들 수 있 습 니 다.윈도 시스템 구 조 를 바탕 으로 한 도형 은 다음 과 같다이런 방법 을 사용 하면 주로 두 가지 장점 이 있다.첫째,플랫폼 과 언어 가 독립 된 방식 으로 데 이 터 를 조작 할 수 있다.둘째,프로 그래 밍 을 하지 않 아 도 같은 데이터 에 대한 서로 다른 시각 표 시 를 실현 할 수 있다.실제로 원본 데 이 터 를 XML 포맷 으로 바 꾸 고 HTML 형식 으로 표시 할 수 있 는 도구 가 필요 합 니 다.실제로 IE 5.0 에 서 는 XSL 에 대한 지원 을 통 해 데이터 의 다른 보 기 를 실현 할 수 있 습 니 다.XML 흐름 에서 출력 을 내 장 된 XSL 프로 세 서 를 사용 할 수 있 습 니 다.개발 자 는 서로 다른 XSL 시 나리 오 를 작성 한 후 IE 에 설 치 된 XSL 프로세서 로 처리 할 수 있다.다른 한편,우 리 는 ADO 구성 요소 의 내 적 기능 을 통 해 기록 집 을 XML 형식 으로 바 꿀 수 있 습 니 다.예제 코드 는 다음 과 같 습 니 다.If Dir(XMLFILE) = " Then    rs.Save XML_FILE,adPersistXML End If 여기 상수 adPersistXML 은 기록 집의 내용 을 저장 하기 위해 XML 요 지 를 사용 한 다 는 것 을 표시 합 니 다.Recordset 대상 의 Save 방법 을 자세히 살 펴 보 겠 습 니 다.그 정 의 는 다음 과 같 습 니 다.Save([FileName As String],[PersistFormat As PersistFormateEnum=adPersistADTG])매개 변 수 는 선택 할 수 있 습 니 다.그러나 기록 집 을 디스크 에 처음 저 장 했 을 때 파일 의 이름 을 지정 해 야 합 니 다.이 방법 이 실 행 될 때 효과 적 인 필터 가 존재 한다 면 걸 러 진 데이터 만 저장 할 수 있 습 니 다.Recordset 대상 을 호출 하 는 방법 으로 Recordset 대상 을 닫 을 때 파일 도 자동 으로 닫 힙 니 다.Recordset 이 디스크 에 저 장 된 후에 Open 방법 으로 읽 을 수 있 습 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.rs.open"c:\my rs.xml"그리고 XML 데이터 에 대한 디 스 플레이 문 제 를 분석 해 보 겠 습 니 다.IE5 의 XSL 지원 은 W3C 의 최근 초안 기준 을 바탕 으로 만 들 어 졌 습 니 다.여기 서 우 리 는 VB 로 응용 프로그램 을 만 들 고 ADO 인 터 페 이 스 를 통 해 데이터 원본 의 데 이 터 를 방문 하 는 것 을 토론 합 니 다.얻 은 기록 집 은 서로 다른 포맷 으로 보 여줄 수 있다.XSL 문 서 를 작성 하면 다른 보 기 를 임의로 추가 할 수 있 습 니 다.예 를 들 어 결과 집합 을 추출 한 후에 VB 에서 DataGrid 컨트롤 로 데 이 터 를 편리 하 게 표시 할 수 있 습 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.Set rs=New ADODB.Recordset rs.Cursor Location=adUseClient query String="select*from Employees"rs.Open query String,"NorthWind"'NorthWind 는 마이크로소프트 의 예제 데이터 베이스 입 니 다.'ACCESS 또는 SQL SERVER 에서 rs.activeConnection=Nothing Set DataGrid 1.DataSource=rs 를 쉽게 찾 을 수 있 습 니 다.이 보 기 는 많은 경우 에 부족 합 니 다.필드 마다 엄격 한 통제 가 필요 합 니 다.전체 표 의 기록 은 표 와 트 리 로 표시 할 수 있 으 며,여러 개의 보 기 를 제공 하면 사용자 가 더욱 편안 함 을 느 낄 수 있 습 니 다.XML 과 XSL 을 결합 시 키 는 것 은 이러한 문제 의 좋 은 해결 방안 입 니 다.IE5 의 WebBrowser 컨트롤 기능 을 충분히 이용 하여 직접 탐색 할 수 있 습 니 다.ADO 구성 요소 자체 가 XML 문 서 를 만 들 지 않 고 XSL 문 서 를 만 듭 니 다.이것 만 으로 는 데이터 표시 방식 을 바 꾸 기 위해 서 일반적인 XSL 문 서 를 작성 할 수 없다 는 것 을 의미 하지 않 습 니 다.예 를 들 어 ADO 기록 집합 을 포함 하 는 XML 문 서 를 표 로 자동 으로 표시 하기 위해 서 는 XML 문서 의 머리 에 다음 과 같은 코드 를 추가 해 야 합 니 다.<?xml-stylesheet type="text/xsl" href="simple.xsl"?>이 simple.xsl 파일 은 XML 문서 와 같은 디 렉 터 리 에 두 어야 합 니 다.두 개의 포 함 된 순환 을 포함 하고 첫 번 째 순환 은 요소 의 모든 속성 을 매 거 했 습 니 다.이 속성의 이름 은 제목 으로 첫 번 째 줄 에 표시 되 고 두 번 째 순환 은 기록 이 집 중 된 모든 기록 을 출력 하 는 데 사 용 됩 니 다.simple.xsl 파일 의 코드 는 다음 과 같이 표시 합 니 다.<?xml version="1.0"?>  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"    xmlns:html="http://www.w3.org/TR/REC-html40"   result-ns="   language="JScript">  <xsl:template match="/">  <html>  <head>  <title>RowsetSchema</title>  <style>   .stdText    {    font-Family:verdana;    font-Size: 9px;   }  </style>  </head>  <body>   <table width="100%" border="1">   <xsl:for-each select="xml/s:Schema/s:ElementType/s:attribute">    <th class="stdText"><xsl:value-of select="@type" /></th>    </xsl:for-each>    <xsl:for-each select="xml/rs:data/z:row">    <tr>     <xsl:for-each select="@*">     <td class="stdText" valign="top"><xsl:value-of match="@*"/></td>     </xsl:for-each>    </tr>    </xsl:for-each>   </table>  </body>  </html>  </xsl:template>  </xsl:stylesheet>여기 서 주의해 야 할 것 은 주어진 노드 의 모든 속성 을 열거 하 는 문법 입 니 다.실제로 우 리 는 모든<z:row>요소 의 모든 속성 을 얻어 야 합 니 다.문자열@*은 모든 속성(하나의 속성의 이름 은 항상 앞 에@을 추가 해 야 합 니 다.이 값 을 사용 하기 위해<xsl:value-of>노드 는 반드시 그것 과 일치 하 는 속성 을 설정 하고@*로 표시 해 야 합 니 다.웹 브 라 우 저 컨트롤 을 사용 하여 데 이 터 를 탐색 하 는 엔진 으로 XML 과 XSL 을 사용 하여 내용 을 표시 층 에서 분리 할 수 있 습 니 다.이 모델 에서 XSL 의 역할 은 XML 데 이 터 를 어떻게 표시 하 는 지 표시 언어(프로 그래 밍 언어 가 아 닌)로 설명 하 는 것 입 니 다.새로운 보 기 를 추가 하기 위해 서 는 해당 하 는 XSL 문서 만 추가 하면 됩 니 다.사실 이러한 웹 기반 문서/시 모델 은 MFC 의 문서/시 모델 과 유사 할 수 있다.마지막 으로 XSL 과 CSS 는 어떤 차이 가 있 습 니까?관건 적 인 차이 점 은 XSL 은 전체 XML 문서 에 적용 되 고 CSS 는 HTML 태그 의 디 스 플레이 형식 에 만 영향 을 미친다.XSL 은 파일 을 처리 하 는 태그 언어 이 고 CSS 는 태그 언어의 한 요 소 를 나타 내 는 속성 집합 입 니 다.그리고 XSL 은 XML 데이터 흐름 에서 HTML 출력 을 만 들 때 CSS 를 사용 할 수 있 습 니 다.현재 의 측면 에서 볼 때 서로 다른 기술 입 니 다.

좋은 웹페이지 즐겨찾기