---
title: "데이터 보고를 위한 XPath 표현식"
date: "2013-09-27"
categories: 
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "authentic"
  - "epub"
  - "stylevision"
  - "xml-reports"
  - "xpath"
Descriptions: Learn about using XPath to select data for reports in Altova StyleVision. 
description: 본 기사에서는 XMLSpy와 StyleVision에서 XPath 표현식을 활용하여 효과적인 데이터 보고서를 작성하는 방법을 살펴봅니다. 여기에는 대화형 전자 양식(e-Forms) 작성 및 차트 생성 기능이 포함됩니다.
---
Status: #blog

Tags:  #altova-xmlspy #authentic #epub #stylevision #xml-reports #xpath

Categories: [xpath+xquery](/blog/ko/category/xpathxquery.md)
# 데이터 보고를 위한 XPath 표현식

이전 게시글인 "[XPath 표현식을 사용하여 데이터 선택을 개선하기](https://www.altova.com/blog/2013/09/use-xpath-expressions-to-refine-data.html)"에서, 저희는 XMLSpy를 사용하여 미국 교육부에서 제공하는 방대한 데이터 세트에서 특정 테이블의 데이터를 선택하는 XPath 표현식을 개발하는 방법을 설명했습니다.

![StyleVision에서 XPath를 사용하여 데이터를 선택하고, 이를 기반으로 HTML 보고서를 생성합니다](https://lh3.ggpht.com/-8oo4VgEw2gE/UjnhznO7ahI/AAAAAAAABTA/MgScZv75SRE/clip_image001%25255B3%25255D.png?imgmax=800 "An HTML report based on XPath data selection in StyleVision")

다음과 같은 경우에 해당 작업을 재사용할 수 있습니다 [XMLSpy](https://www.altova.com/ko/xmlspy.html) 빠르게 만들어낼 수 있습니다 [StyleVision](https://www.altova.com/ko/stylevision.html) 데이터에서 얻은 주요 내용을 효과적으로 전달하기 위한 보고서 또는 전자 양식 디자인. <!--more--> StyleVision에서 gradData XML 스키마와 XMLSpy에서 생성한 XML 파일을 기반으로 간단한 디자인부터 시작할 수 있습니다. XMLSpy에 최종적으로 다듬은 차트 설정을 저장했으므로, StyleVision에서 해당 차트 디자인을 다시 불러올 수도 있습니다.

![데이터 보고서 디자인 시 StyleVision 스타일 적용](https://lh5.ggpht.com/-xiB7bV790Jk/Ujnh0IRLadI/AAAAAAAABTE/2Iu9DewDrVE/clip_image002%25255B3%25255D.png?imgmax=800 "StyleVision design for the data report")

XMLSpy에서 개발된 XPath 표현식 `set setnum="FOS"`을 사용하여, 더 큰 XML 파일에 포함된 여러 테이블 중 특정 하나의 테이블만 선택할 것입니다. 이 표현식은 `setnum` 속성 값이 "FOS"인 `/data/set` 요소에만 일치합니다 `set setnum="FOS"`.

먼저, 설명 요소의 조건부 출력을 정의하기 위해 특정 표현식을 사용합니다. 각 테이블에는 유용한 차트 제목으로 활용될 수 있는 설명이 포함되어 있습니다. 조건을 지정하기 위해 속성 도우미 창에 XPath 표현식을 입력할 수 있습니다.

![조건 제어를 위한 속성 창으로, XPath 표현식을 보여줍니다](https://lh5.ggpht.com/-YG9jeuYhz60/Ujnh0nD5kOI/AAAAAAAABTM/e8991AZ1Mmo/clip_image003%25255B3%25255D.png?imgmax=800 "Properties window for the condition control, showing the XPath expression")

그런 다음, 커서가 해당 조건 위에 위치하면 해당 표현이 화면에 나타납니다

![디자인 창에 XPath 표현식이 표시됩니다](https://lh6.ggpht.com/-29GKlKQI2lg/Ujnh1IkwNKI/AAAAAAAABTU/uwAQH1bDzsU/clip_image004%25255B3%25255D.png?imgmax=800 "XPath displayed in the design window")

또한, 차트 설정 대화 상자에서 XPath 표현식을 사용하여 차트에 표시할 데이터 행을 선택할 수 있습니다

![차트 설정 대화 상자에서 데이터 선택을 위한 XPath](https://lh3.ggpht.com/-2CPnWbnUFDo/Ujnh1pCrmCI/AAAAAAAABTc/sSVaLkPHNo4/clip_image005%25255B3%25255D.png?imgmax=800 "XPath for data selection in the chart settings dialog")

이 두 가지 예시는 본 게시물 상단에 표시된 첫 번째 이미지에 나타난 HTML 결과물을 생성했습니다.

**XPath 표현식과 콤보 상자를 결합하면 사용자가 원하는 항목을 선택할 수 있습니다**

보고서를 대화형 형식으로 변환할 수 있습니다 [Authentic](https://www.altova.com/ko/authentic.html) XML 요소를 XPath 표현식에서 변수로 사용하여 "FOS"와 같은 고정된 문자열 값 대신 전자 양식을 만들 수 있습니다. 이렇게 하면 사용자가 콤보 상자를 통해 XML 요소의 내용을 설정할 수 있습니다.

이 기능을 구현하기 위해, 임시 사용자 선택 정보를 저장할 또 다른 XML 파일을 추가할 예정입니다. 해당 파일은 아래 그림에서 StyleVision 디자인 개요 및 스키마 트리 창에 표시됩니다.

![설계 개요 및 스키마 트리: 여러 개의 작동 중인 XML 파일을 보여줍니다](https://lh3.ggpht.com/-Im-cnaYif1U/Ujnh2Cw5PcI/AAAAAAAABTk/C4XnAC8TpC8/clip_image006%25255B3%25255D.png?imgmax=800 "Design Overview and Schema Tree showing multiple working XML files")

콤보 상자를 폼의 맨 위에, 설명과 차트 위에 삽입할 수 있습니다.

![인터랙티브 제어를 위해 디자인에 추가된 콤보 박스](https://lh5.ggpht.com/-bVe6I8apjyQ/Ujnh3ICXv6I/AAAAAAAABTs/MlP9zxtIb6U/clip_image007%25255B3%25255D.png?imgmax=800 "A combo box added to the design for interactive contro")

StyleVision은 콤보 박스의 동작 방식을 정의하는 다양한 방법을 제공합니다. 여기서는 표시되는 항목 목록과 해당 XML 값을 사용하여 설명하겠습니다.

![콤보 박스에서 표시되는 항목과 XML 값의 정의](https://lh4.ggpht.com/-FKR2V28AAo0/Ujnh3rnMaSI/AAAAAAAABT0/AxeFDeQ3O5I/clip_image008%25255B3%25255D.png?imgmax=800 "Combo box defintion of Visible Entries and XML values")

콤보 박스는 사용자 선택 사항이 저장된 "userselections.xml" 파일에 XML 값을 할당합니다. 이후, 이 값을 "gradData.xml" 파일의 "setnum" 속성 값과 비교하여 일치 여부를 확인할 수 있습니다.

다음으로, XPath 표현식을 모두 수정해야 합니다. "설명" 필드에 적용될 새로운 XPath 표현식은 다음과 같습니다

../@setnum=$XML2/userchoice/chart

아래 그림과 같이 속성 창에서 확인할 수 있습니다.

![사용자가 선택한 표시 방식을 위한 XPath 표현식을 업데이트했습니다](https://lh3.ggpht.com/-JdpIuvVUwkg/Ujnh4LTVkgI/AAAAAAAABT8/zgCirqKk4N4/clip_image009%25255B3%25255D.png?imgmax=800 "Updated XPath expression for user-selected display")

차트 데이터에 대한 새로운 XPath 표현식은 다음과 같습니다: `$XML/data/set[@setnum=$XML2/userchoice/chart]/row`

다음은 차트 설정 대화 상자에서 확인할 수 있습니다.

![차트 설정 대화 상자에서 XPath가 업데이트되었습니다](https://lh5.ggpht.com/-dGod4uRG51s/Ujnh4o79oAI/AAAAAAAABUE/4ARuRxZhoY4/clip_image010%25255B3%25255D.png?imgmax=800 "Updated XPath in the chart settings dialog")

StyleVision에는 XPath 표현식을 편집할 수 있는 편집기가 내장되어 있으며, 위에서 보이는 XPath 표현식 옆의 "편집" 버튼을 클릭하여 해당 편집기에 접근할 수 있습니다. 이 XPath 표현식 편집기는 XPath 1.0 및 XPath 2.0 작성에 도움을 주기 위해 "빌더" 모드와 "평가기" 모드를 제공합니다. "빌더" 모드는 실시간 구문 검사와 자동 완성 기능을 제공하여 효율적인 작업이 가능합니다. XPath 편집기는 아래에 축소된 크기로 표시됩니다

![XPath 빌더 (축소 보기)](https://lh5.ggpht.com/-Ub_TN4ToohM/Ujnh5S626lI/AAAAAAAABUM/HiponeePKfk/clip_image011%25255B3%25255D.png?imgmax=800 "XPath Builder (reduced view)")

콤보 박스의 크기를 가장 긴 입력 내용에 맞게 조정한 후, 전자 양식은 다음과 같이 표시됩니다

![데이터 보고를 위한 인터랙티브 전자책](https://lh6.ggpht.com/-0yA20dK6nbU/Ujnh6j9GF7I/AAAAAAAABUU/g2vu5nIXBPk/clip_image012%25255B3%25255D.png?imgmax=800 "Interactive e-Pub for data reporting")

콤보 박스를 사용하면 사용자가 다른 차트 유형을 선택할 수 있습니다

![콤보 박스에서 선택 가능한 항목 목록에서 새로운 사용자를 선택합니다](https://lh4.ggpht.com/-IG1CxL7EX54/Ujnh7K_KfpI/AAAAAAAABUc/DIEOPx80NSU/clip_image013%25255B3%25255D.png?imgmax=800 "New user selection from combo-box drop-down")

새로 선택된 항목의 XML 값이 기존 내용으로 대체됩니다 `<chart>` 사용자 선택 정보가 담긴 "userselections.xml" 파일 내의 특정 요소를 참조하며, 두 XPath 표현식 모두 새로운 결과를 생성합니다

![업데이트된 전자책 보고서](https://lh3.ggpht.com/-zjsWOtn6bhQ/Ujnh7rIzJ7I/AAAAAAAABUo/NOL594co0Bg/clip_image014%25255B3%25255D.png?imgmax=800 "Updated e-Pub report")

[**Altova MissionKit의 무료 체험판을 다운로드하려면 여기를 클릭하세요.**](https://www.altova.com/ko/download-trial.html)**XMLSpy, MapForce, StyleVision을 포함한 체험판을 통해 XPath를 활용하여 데이터 선택을 더욱 정교하게 할 수 있습니다!**
