2016-10-18 7 views
0

양식 작성기를 통해 반복되는 격자 작업.Orbeon 반복 그리드의 JSON 문자열에 특정 값이 포함되어 있는지 확인하십시오.

json에 표시된 문자열 값을 가진 사용자 지정 컨트롤이 있습니다. = "연간 요약"이전

이름은, 내가 계산 된 값을 사용하여 제어 드롭 다운을했고 경우

반복 그리드의 외부 컨트롤에
{ 
    "data": { 
    "type": "File", 
    "itemID": "12345", 
    "name": "Annual Summary", 
    "parentFolderID": "fileID", 
    "owner": "Owner", 
    "lastModifiedDate": "2016-10-17 22:48:05Z" 
    } 
} 

, 나는 "$ dropdownControl = 확인해야 연간 요약 " 반복 된 행에 값이 포함되어 있으면 true를 반환 할 수있었습니다. 내 이해는 = 연산자를 사용하면 모든 행에 대해 유효성을 검사합니다. 이제 컨트롤의 JSON 출력을

, 나는

contains($jsonStringValue, 'Annual Summary') 

그러나, 이것은 하나 개의 항목 만 작동 사용하려고하고 있는데 여러 행이있는 경우 null가됩니다.

2 질문 :

  1. 방법 "연간 요약"(또는 다른 텍스트) 반복 행의 내 존재 여부를 확인할 것?
  2. json을 탐색하거나 XML로 구문 분석하고 탐색 할 수있는 방법이 있습니까?

제약 : 폼 빌더

  • 내에서 계산 된 값 또는 가시성 필드에서

    • 당신은 아마 JSON을 구문 분석 할 양식 빌더
  • +0

    제공되는 솔루션을 사용해 보셨습니까? – ebruchez

    답변

    0

    에 의해 생성 된 소스를 조작 문자열 먼저. 이 내용은 other Stackoverflow question입니다. Orbeon이 출시 2016.3 양식까지

    , 당신이 작성합니다 Orbeon이 출시 2016.3 양식

    xmlns:converter="org.orbeon.oxf.json.Converter" 
    

    후에는 전환 할 수 있습니다 : 위의와

    (
        for $v in $jsonStringValue 
        return converter:jsonStringToXml($v) 
    )//name = 'Annual Summary' 
    

    을, 당신은 또한 범위에 네임 스페이스를 필요 받는 사람 :

    $jsonStringValue/xxf:json-to-xml()//name = 'Annual Summary'