2016-10-18 1 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 =を使用している場合、私がチェックする必要がありますAnnual Summary "繰り返しされた行のいずれかに値が含まれていれば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' 
    
    関連する問題