본문 바로가기
IT/Mendix

[Mendix] XPath를 사용하여 데이터 제한 - Intermediate 자격증 공부 - DevelopMoon

by developmoon 2024. 11. 11.

 

XPath(XML Path Language)란?

  • Mendix XPath는 데이터를 검색하도록 설계된 Mendix 쿼리 언어 중 하나이다.
  • XPath는 경로 expressions을 사용하여 Mendix 개체 및 해당 속성 또는 연결의 데이터를 선택한다.

 

XPath를 사용하는 이유

  • XPath는 Mendix가 데이터와 상호 작용할 때 도메인 모델을 탐색하는 데 사용하는 언어이다.
  • XPath는 개발자가 보고 싶은 특정 데이터를 얻을 수 있는 서면 방식을 제공한다.
  • 한 번에 모든 데이터를 화면에 표시하는 대신 XPath는 엔티티, 속성, 연결 및 변수를 사용하여 데이터를 제한하는 방법을 제공한다.
  • XPath는 데이터 속성 간의 관계를 지정하는 서면 구문이다.
  • Mendix는 데이터베이스 보편성과 사용 편의성 때문에 SQL이나 OQL과 같은 유사한 구문 대신 XPath를 사용한다.
  • XPath는 도메인 모델의 연결 및 속성 구조와 완벽하게 결합되어 쿼리를 한눈에 이해할 수 있게 한다.

 

XPaths in Microflows

XPath는 '검색' 작업의 Microflows에서 데이터베이스에서 반환되는 데이터를 정의하는 데 사용된다.

 

XPaths in Security

도메인 모델 보안 구성에서 엔터티 액세스 규칙에 XPath 제약 조건을 추가할 수 있다.

 

XPath 구성 방법

XPath 제약 조건에는 토큰이라고 불리는 구조적 요소가 있다.

 

Token Example Description
// //OrderManagement.Order 데이터베이스 활동 또는 목록 위젯에서 검색하기 위해 선택한 엔티티.
Mendix가 자동 생성. XPath 편집기 창에선 제외.
[] [ProductName = 'Ferrari 599XX'] XPath는 항성 대괄호로 시작.
/ [OrderManagement.Product/ProductName = 'Ferrari 599XX'] 새로운 노드로 이동할 때 사용.
엔티티 -> 엔티티, 엔티티 -> 속성
() [{ProductName = 'Ferrari 599XX' or ProductName = 'Alfa Romeo 4c') and TotalStock > 0] 괄호를 이용해 그룹화시켜 우선순위를 표현.

 

 

XPath 제약 조건 구성 자동 완성

열린 괄호 [ 또는 슬래스 / 를 입력하면 자동 완성 기능이 자동으로 열리며, CTRL + 스페이스를 눌러 자동 완성에 액세스할 수도 있다.

 

XPath 제약 조건 생성 시 명심해야 할 것

  • 도메인 모델에서 검색하는 엔터티를 식별한다.
    • 어떤 엔터티의 데이터를 가져올 것인지 확인
  • 해당 엔터티에서 데이터를 제한하는 데 사용하려는 속성 또는 연결에 대한 경로를 식별한다.
  • 위의 구성 요소를 사용하여 XPath 표현식을 구성한다.

 

XPath 구성 팁

  • 도메인 모델 구조에 익숙하지 않다면 올바른 경로를 선택하기 어려울 수 있기 때문에 도메인 모델에 대한 이해를 해야한다.
  • 엔티티, 연관 관계 및 속성을 이해하는 것이 XPath를 쉽게 구성하고 읽기 쉽게 만드는 데 중요하다.
    • 엔터티와 속성 이름은 기술적 이름이 아닌 그것이 나타내는 바를 설명해야 한다.
    • 엔티티에 단수형 이름을 사용한다. (예를 들어, Customers 대신 Customer)
    • 동일한 엔터티 간에 여러 연결이 있는 경우 연결 이름을 고유하게 만들어야 한다.
    • 도메인 모델과 XPath 편집기를 양쪽에 두고 화면에 분할하면 올바른 경로를 알아내는 데 도움이 된다.

Reference

https://academy.mendix.com/link/paths