文字列およびインデックスアルゴリズムの例
以下のサンプル規則 XML は、デフォルト値アルゴリズム Substring を使用し、番号属性の最初の 5 文字を名前属性として設定します。
<AttrValue id=”name” algorithm=”wt.rule.algorithm.Substring”>
<Attr id=”number”/>
<Arg>0</Arg>
<Arg>5</Arg>
</AttrValue>
以下のサンプル規則 XML は、Substring アルゴリズムと IndexOf アルゴリズムを使用し、拡張子を除いた CAD 名を CAD ドキュメントの名前として設定します。
<AttrValue id="name" algorithm="wt.rule.algorithm.Substring">
<Attr id="CADName"/>
<Arg>0</Arg>
<Value algorithm="wt.rule.algorithm.IndexOf">
<Attr id="CADName"/>
<Arg>.</Arg>
</Value>
</AttrValue>
この例で使用されている引数は以下のとおりです。
最初の引数は Attr タグを使用して、元の文字列 (この場合は属性) を指定します。
2 番目の引数は Arg タグを使用して、部分文字列の開始文字のインデックスを指定します。0 が元の文字列の先頭文字のインデックスです。
3 番目の引数は Value タグを使用して、部分文字列を終了する文字のインデックスを決定します。Value タグ内に IndexOf アルゴリズムが挿入されています。このアルゴリズムで必要なインデックスを生成するため、さらに 2 つの引数を指定します。
この例では、CAD ドキュメント名の中にはファイル拡張子より前に 1 つだけピリオドがあるものとします。
CAD ドキュメント名が複数のピリオドを含んでいる場合、IndexOf アルゴリズムの代わりに次のように LastIndexOf アルゴリズムを使用して、最後のピリオドの後ろにある文字を取り除くことができます。
<AttrValue id="name" algorithm="wt.rule.algorithm.Substring">
<Attr id="CADName"/>
<Arg>0</Arg>
<Value algorithm="wt.rule.algorithm.LastIndexOf">
<Attr id="CADName"/>
<Arg>.</Arg>
</Value>
</AttrValue>
これは役に立ちましたか?