Специализированное администрирование > Настройка бизнес-объектов > Администрирование правил инициализации объектов > Работа с правила инициализации объектов > Алгоритмы правил > Примеры значения по умолчанию и алгоритма ограничения > Примеры алгоритма строки и индекса
  
Примеры алгоритма строки и индекса
Ниже приводится пример XML-фрагмента правила, где использован алгоритм определения значения подстроки по умолчанию для установки атрибута имени, совпадающего с первыми 5 символами атрибута номера.
<AttrValue id=”name” algorithm=”wt.rule.algorithm.Substring”>
<Attr id=”number”/>
<Arg>0</Arg>
<Arg>5</Arg>
</AttrValue>
Ниже приводится пример фрагмента XML-кода правила, в котором используются алгоритмы подстроки и индекса для задания наименования 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>