값 참조
${fieldname} 구문은 양식의 다른 필드의 현재 값을 참조하는 데 사용됩니다. 입력, 선택 또는 계산된 값을 나타낼 수 있으며 제출된 데이터에 표시되는 것과 정확히 같이 표시됩니다.
예시:
“age"라는 필드가 있고 해당 필드에 입력된 정확한 값을 검색하려면 ${age}를 사용할 수 있습니다.
제약 조건의 경우 “.” 기호는 현재 필드에 대한 사용자의 제안 입력 또는 선택을 참조하는 데 사용됩니다. 이는 사용자가 그 순간 입력하거나 선택하는 값을 기반으로 조건이나 제한을 적용할 수 있게 합니다.
예시:
현재 필드의 제안된 값이 3보다 작은지 확인하려면 제약 . < 3을 사용할 수 있습니다.
.. — 상위 그룹 참조
그룹 또는 반복 그룹 내에서 ..는 상위 컨텍스트를 참조합니다. 이는 실제로 거의 필요하지 않지만 양식 계층 구조를 탐색하기 위한 고급 XPath 표현식에서 사용됩니다.
참조가 사용되는 위치
| 열 | 참조 유형 | 예시 |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | 현재 필드에 대한 ., 다른 필드에 대한 ${fieldname} | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | 텍스트의 ${fieldname} | "나이는 ${age}세입니다" |
choice_filter | 열 이름 (${} 없이) | district = ${district} |
choice_filter 열에서는 선택지 열 이름을 직접 참조하고 (${} 없이), 양식 필드는 ${}로 참조합니다. 이를 혼동하는 것이 일반적인 오류의 원인입니다.
반복 그룹 내부에서 값 참조
반복 내에서 ${fieldname}은 같은 반복 인스턴스의 필드를 참조합니다:
relevant: ${member_age} < 18
이것은 모든 인스턴스가 아닌 현재 반복 인스턴스의 member_age 값을 사용합니다.
반복 외부에서 특정 반복 인스턴스의 필드를 참조하려면 indexed-repeat()를 사용합니다:
indexed-repeat(${member_name}, ${household_members}, 1)
자세한 내용은 함수 — 반복 필드 함수를 참조하세요.
빈 값 확인
필드가 답변되었는지 테스트합니다:
${fieldname} != '' (필드가 비어있지 않음)
${fieldname} = '' (필드가 비어있음)
숫자의 경우도 확인합니다:
${age} > 0 (나이가 양수 — 숫자 컨텍스트에서 암묵적으로 비어있지 않음)
참조의 타입 강제 변환
숫자 컨텍스트에서 ${fieldname}을 사용할 때 (예: ${age} + 1), rtSurvey는 문자열 값을 자동으로 숫자로 강제 변환합니다. 빈 필드는 연산에 따라 0 또는 NaN으로 강제 변환됩니다 — 빈 숫자 필드를 0으로 안전하게 기본 설정하려면 coalesce(${field}, 0)을 사용합니다.