インプットパターンとは、マッチングルールをXMLで記述したものです。
シナリオ作成者が定義するものです。
各要素の開始タグの属性に条件を記述することにより、マッチ回数や必須/オプショナルの指定をすることができます。
<要素名 [pw:max="{maxNumber | *}"] [pw:min="minNumber"]>
pw:max
要素の最大マッチ回数を以下の形式で指定します。
省略した場合には(誤った値を指定した場合も同様)、マッチ回数として1が指定されたものとみなされます。
maxNumber
要素の最大マッチ回数を正の整数で指定します。
*
任意の回数を意味します。
pw:min
要素の最小マッチ回数を以下の形式で指定します。
pw:min属性を指定した場合には、その回数マッチしなければマッチング失敗となります。省略した場合(誤った値を指定した場合も同様)には、マッチするものがなくても問題ありません。
minNumber
要素の最小マッチ回数を正の整数で指定します。
上記に加え、マッチング条件として「$」と「%」を属性値とコンテンツに指定することができます。指定は以下の形式で行います。
<要素名 属性1="$属性値" 属性2="%属性値">$コンテンツ</要素名> <要素名>%コンテンツ</要素名>
$
その属性またはコンテンツが必須であり、該当するものが入力コンテンツになければマッチング失敗ということを意味します。
%
その属性またはコンテンツがオプションであり、該当するものが入力コンテンツになくてもよいことを意味しています。「%」が付いている属性またはコンテンツがマッチしなかった場合、その属性またはコンテンツは、出力結果には現れません。また、属性やコンテンツがまったくマッチしないタグも出力結果には現れません。
pw:max属性とpw:min属性は、どちらも省略可能です。
pw:maxとpw:minの両方が指定され、値を「pw:max < pw:min」としていた場合はpw:minの指定が優先されます。
<search pw:max="3"> <key pw:max="5">$key</key> <engine pw:min="1">$engine</engine> <condition level="%level"> <locale>%locale</locale> <max>%max</max> </condition> </search>