スクリプト ロケータ
[スクリプト ロケータ] により、以下のセットを生成するカスタムのスクリプト ルーチンを実行します。
-
それぞれが単一の結果 (形式ロケータと同様) を持つ候補のセット
-
それぞれがサブフィールド結果 (アドバンスト ゾーン ロケータと同様) を持つ候補のセット
スクリプトでは 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
スクリプト ロケータのプロパティ ウィンドウ には次のタブがあります。