字串與索引演算法範例
以下為範例規則 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 標籤來識別原始字串 (在此例中為屬性)。
第二個引數使用 Arg 標籤來識別子字串開頭字元的索引,其中 0 是原始字串中第一個字元的索引。
第三個引數使用 Value 標籤來確定子字串在其中停止的字元的索引。在 Value 標籤內部是 IndexOf 演算法,它需要兩個可用來產生所需索引的其他引數。
此範例假設在檔案副檔名之前的 CAD 文件名稱中只有一個句點。
如果 CAD 文件名稱可以包含多個句點,您可以使用 LastIndexOf 演算法代替 IndexOf 來去掉最後一個句點之後的字元,如下所示:
<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>
這是否有幫助?