スクリプト ロケータ

[スクリプト ロケータ] アイコン[スクリプト ロケータ] により、以下のセットを生成するカスタムのスクリプト ルーチンを実行します。

  • それぞれが単一の結果 (形式ロケータと同様) を持つ候補のセット

  • それぞれがサブフィールド結果 (アドバンスト ゾーン ロケータと同様) を持つ候補のセット

スクリプトでは XDoc を使用して、あるロケータよりも前に実行されたロケータからのデータの取得、独自の値の作成、またはこの 2 つの動作を組み合わせて実行することができます。

それぞれの [スクリプト ロケータ] に対して、Transformation Server を実行するとイベントが発生し、構成可能なスクリプト関数が実行されます。

次の方法でスクリプト ロケータを管理します。

  • グループ フィールドの出力サブフィールドを定義する

  • グループ フィールドの出力サブフィールドを削除する

スクリプト ビューアを使用すると、次のことができます。

  • スクリプト関数を挿入する

  • 単純フィールドのスクリプト ロケータの結果を作成する

  • グループ フィールドのスクリプト ロケータの結果を作成する

スクリプト ロケータで他のロケータまたはエバリュエータからの入力を使用している場合は、スクリプト ロケータをテストしてからそれらのロケータを実行します。依存ロケータは処理されないため、必要な入力データが利用できない場合があります。依存ロケータを実行するには、ロケータのプロパティを開いて [テスト] をクリックするか、F7 キーを押してテスト ドキュメントを実行し、完全な抽出を実行します。

別のロケータをフィードするときに [スクリプト ロケータ] で信頼値を渡すには、スクリプトのコードに alt.LongTag = 10000 ステートメントを含める必要があります。

例:

Private Sub ProcessDates(pXDoc As CASCADELib.CscXDocument, pLocator As CASCADELib.CscXDocField, minConfidence As Double)
  On Error GoTo CatchError

  Dim locKey As CscXDocField
  Set locKey = pXDoc.Locators.ItemByName("FL_Dates")

  Dim i As Integer
  Dim keyAlt As CscXDocFieldAlternative
  Dim lineIndex As Integer
  Dim wordIndex As Integer

  For i = 0 To locKey.Alternatives.Count - 1
    Set keyAlt = locKey.Alternatives(i)
    If keyAlt.Confidence > minConfidence Then
     Dim validDate As Boolean
     Dim formattedText As String
     Dim errDesc As String
     validDate = Project.FieldFormatters.ItemByName("CustomDateFormatter").FormatFieldText(keyAlt.Text, formattedText, errDesc)

     If validDate Then
       Dim alt As CscXDocFieldAlternative
       Set alt = pLocator.Alternatives.Create

       Dim j As Integer
       For j = 0 To keyAlt.Words.Count - 1
        alt.Words.Append(keyAlt.Words(j))
       Next

       alt.Text = formattedText
       alt.Confidence = keyAlt.Confidence
       alt.LongTag = 10000
     End If
    End If
  Next

  Exit Sub
CatchError:
  Debug.Print("***ERROR*** ProcessDates" & Err.Description)

End Sub

スクリプト ロケータのプロパティ ウィンドウ には次のタブがあります。