---
title: "XSLT3 수학 함수를 이용한 데이터 매핑"
date: "2021-04-14"
categories: 
  - "data-integration"
  - "xpath"
  - "xquery"
tags: 
  - "data-mapping"
  - "mapforce"
  - "xml-data-mapping"
  - "xslt3"
description: XSLT3가 고급 수학 함수, 특히 삼각 함수를 활용하여 XML 데이터 매핑을 어떻게 향상시키는지 알아보세요. 이를 통해 MapForce를 사용하여 복잡한 통합 문제를 해결할 수 있습니다.
---
Status: #blog

Tags:  #data-mapping #mapforce #xml-data-mapping #xslt3

Categories: [data-integration](/blog/ko/category/data-integration.md) | [xpath+xquery](/blog/ko/category/xpathxquery.md) | [xpath+xquery](/blog/ko/category/xpathxquery.md)
# XSLT3 수학 함수를 이용한 데이터 매핑

XSLT3는 삼각 함수 및 기타 고급 수학 함수, 새로운 서식 지정 함수, 환경 변수 수집 함수 등 다양한 기능을 추가하여 XSLT 및 XSLT2 XML 변환 표준을 확장했습니다. 데이터 분석가 및 기타 데이터 전문가들은 XSLT3의 이러한 기능들을 활용할 수 있습니다 [XML 데이터 매핑 및 통합 문제를 해결하기 위해](https://www.altova.com/ko/mapforce) 복잡한 수학적 계산이 필요한 경우들이 있습니다. 몇 가지 MapForce의 예시를 살펴보겠습니다 [XSLT3을 이용한 데이터 매핑](https://www.altova.com/ko/xslt-3#mapforce) 삼각 함수 및 기타 복잡한 수학 표현식을 사용하는 수학 기능.

![](/blog/images/shutterstock_248233801.jpg)

<!--more-->

MapForce는 다양한 데이터 유형과 애플리케이션에 맞춰 최적화된 내부 처리 엔진을 제공합니다.

[![XSLT3를 이용한 데이터 매핑 시 처리 엔진 선택하기](/blog/images/processing-engine.png)](processing-engine.png)

XSLT3 엔진을 선택하면, 아래에 표시된 함수들이 함수 라이브러리 창에 추가되어 데이터 매핑에 사용할 수 있습니다

[![XSLT3와 함께 데이터를 매핑하는 데 사용되는 XQuery 함수](/blog/images/xslt3-functions.png)](xslt3-functions.png)

예를 들어, XML 파일에 저장된 입력 값에 대해 사인, 코사인, 탄젠트 값을 생성하는 데이터 매핑을 만들 수 있습니다. 원래 데이터는 CSV 파일 형태로 제공되었으며, 저희는 이 파일을 세계적으로 가장 많이 사용되는 XML 편집기인 XMLSpy에 불러왔습니다 [JSON 및 XML 편집기](https://www.altova.com/ko/xmlspy-xml-editor), XML 형식으로 변환하기 위해.

MapForce에서 매핑 작업을 시작하려면 먼저 입력 및 출력 파일에 해당하는 XML 스키마를 불러온 다음, 루트 요소를 연결합니다. 이때, 표준 대상 기반 연결 방식을 선택하는 것이 중요합니다. 이렇게 하면 이후의 각 연결을 개별적으로 사용자 정의할 수 있습니다.

[![맞춤형 데이터 매핑을 위한 목표 기반 요소 연결](/blog/images/data-mapping-1-3.png)](data-mapping-1-3.png)

다음으로, "행" 요소를 연결하고, 라이브러리에서 삼각 함수 요소를 끌어와서 연결합니다. 그런 다음, 소스에서 가져온 "x값" 요소를 각 함수와 출력 요소에 연결합니다. 완성된 데이터 매핑은 다음과 같습니다

[![입력 데이터에 대한 사인, 코사인, 탄젠트 값을 생성합니다](/blog/images/data-mapping-2-3.png)](data-mapping-2-3.png)

"매핑 창 아래의 "출력" 버튼을 클릭하면 입력 파일을 처리하고, 결과를 생성하며, 미리보기 창을 엽니다."

[![사인, 코사인, 탄젠트 값을 포함하는 XML 파일 생성](/blog/images/output-1-1.png)](output-1-1.png)

이 예제에서는 입력 값이 0부터 15까지 0.1 간격으로 증가하며, 출력에는 각 값에 해당하는 사인, 코사인, 탄젠트 값이 포함됩니다. 이 파일을 저장한 후 XMLSpy에서 열면 XMLSpy의 그리드 뷰 기능을 활용하여 매우 상세하게 사용자 정의된 그래프를 만들 수 있으며, 심지어 이 그래프를 보고서나 프레젠테이션에 포함시키기 위해 내보낼 수도 있습니다

[![XMLSpy의 그리드 보기에서 생성된 차트와 함께 출력 파일의 내용을 확인할 수 있습니다](/blog/images/sin-cos-graph.png)](sin-cos-graph.png)

**XSLT3를 사용하여 복잡한 표현식을 구축하기 위한 데이터 매핑**

XSLT3 함수와 라이브러리의 다른 함수들을 결합하여 복잡한 수식을 만들 수 있습니다. 예를 들어, 입력 값들의 목록에 y = 4x² – 3과 같은 이차 방정식을 적용하고 싶다고 가정해 보겠습니다. 이 경우, 지수 연산을 위한 XSLT3의 `pow` 함수와 곱셈 및 덧셈을 위한 핵심 라이브러리 함수들을 결합하는 매핑을 만들 수 있습니다.

[![XSLT3을 사용하여 데이터 매핑을 위한 이차식을 구성하는 방법](/blog/images/quadratic-mapping-1.png)](quadratic-mapping-1.png)

매핑에서 함수의 순서는 표현식에서 암시된 처리 순서를 명확하게 정의합니다. 즉, 지수 계산을 먼저, 그 다음 곱셈, 그리고 마지막으로 뺄셈을 수행합니다. 만약 표현식에서 괄호를 사용하여 기본 처리 순서를 변경해야 한다면, 매핑에서 함수의 순서를 변경하여 원하는 처리 순서를 설정할 수 있습니다.

아마도 우리는 특정 입력 값들을 여러 가지 방식으로 표현식에 적용해 보고, 그 결과를 비교해 보고 싶을 것입니다. 우리는 표현식을 설명하는 사용자 정의 함수를 만들 수 있으며, 생성된 각 출력 파일에 사용된 지수, 승수, 그리고 수정 값을 기록하기 위해 출력 파일의 구조를 변경할 수도 있습니다.

다음은 표현식의 다양한 변형에 의해 생성되는 각 출력 파일에 대해 원하는 구조입니다

[![이차식 결과 파일에 저장될 데이터 구조의 원하는 형태](/blog/images/result-structure.png)](result-structure.png)

사용자 정의 함수는 입력 XML 파일에서 x 값을 받아 계산을 수행하고, 계산 결과와 함께 함수에 전달될 파라미터들을 출력 파일에 기록합니다.

[![사용자 함수로서의 이차식](/blog/images/user-function-1.png)](user-function-1.png)

다음은 사용자 함수 내에서 표현되는 전체 매핑 정보입니다

[![이차식 표현식을 사용하는 사용자 정의 함수를 통한 데이터 매핑](/blog/images/quadratic-mapping-2.png)](quadratic-mapping-2.png)

 그리고 생성된 출력 파일은 다음과 같습니다

[![이차식 표현에 대한 XSLT3를 사용한 데이터 매핑의 일부 결과입니다](/blog/images/output-2-2.png)](output-2-2.png)

사용자 함수는 다른 매핑에 쉽게 삽입하거나 여러 MapForce 사용자 간에 공유할 수 있습니다. 사용자 함수를 생성하려면 먼저 표현식을 정의하는 함수를 선택한 다음, 상단 메뉴에서 "함수"를 클릭합니다

[![기존에 정의된 요소들을 활용하여 사용자 정의 함수를 만드는 과정](/blog/images/build-user.png)](build-user.png)

다음은 사용자 함수에 대한 최종 정의입니다

[![XSLT3를 사용하여 데이터 매핑 과정에서 이차 표현식에 대한 사용자 정의 함수를 정의하는 방법](/blog/images/user-function-definition-1.png)](user-function-definition-1.png)

데이터 매핑 및 통합 프로젝트에서 XSLT3의 fortrigonometry 또는 기타 고급 XSLT3 함수를 활용한 데이터 매핑이 필요하다면, 수상 경력 다수의 그래픽 데이터 매핑 도구인 MapForce를 살펴보세요. MapForce는 모든 종류의 데이터 변환 및 통합을 지원합니다. 다운로드하여 사용해 보세요 [MapForce 무료 체험판](https://www.altova.com/ko/mapforce/download) 튜토리얼, 도움말, 그리고 훨씬 더 많은 예제들을 포함합니다!
