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
'IT > Mendix' 카테고리의 다른 글
[Mendix] 제약 조건 1 - Intermediate 자격증 공부 - DevelopMoon (0) | 2024.11.12 |
---|---|
[Mendix] 버전 관리 사용 - Intermediate 자격증 공부 - DevelopMoon (2) | 2024.11.10 |
[Mendix] 앱 디렉터리 - Intermediate 자격증 공부 - DevelopMoon (0) | 2024.11.09 |
[Mendix] Agile 소프트웨어 개발 방법론 2 - Intermediate 자격증 공부 - DevelopMoon (6) | 2024.11.08 |
[Mendix] Agile 소프트웨어 개발 방법론 1 - Intermediate 자격증 공부 - DevelopMoon (20) | 2024.11.07 |