Как вы получаете форматирование strip RTF и получаете фактическое строковое значение, используя DXL в DOORS?

#ibm-doors

#ibm-doors

Вопрос:

Я пытаюсь получить значения в столбце «ID» DOORS, и в настоящее время я делаю это
string ostr=richtext_identifier(o)

Когда я пытаюсь напечатать ostr, в некоторых модулях я получаю только идентификатор (это то, что я хочу). Но в других модулях я получу значения типа «{rtf1 ansi ansicpg1256deff0 nouicompat{fonttbl{f0 fnilfcharset0 Times New Roman;}{f1fromanfcharset0 Times New Roman;}} {*generator Riched20 10.0.17134}viewkind4uc1 pard f0 fs20lang1033 SS_f1 fs24 100 par } » Это значение RTF, и мне интересно, какой наилучший способ удалить это форматирование и получить только значение.

Возможно, есть другой способ сделать это, о котором я тоже не думаю. Будем признательны за любую помощь.

Ответ №1:

Таким образом, столбец ID DOORS на самом деле является составным — DOORS создает его из атрибута уровня модуля ‘Prefix’ и атрибута уровня объекта ‘Absolute Number’.

Если вы хотите сохранить это значение в будущем, я бы сделал следующее (используя ваши переменные)

 string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""
  

Это противоречит следующему, которое (несмотря на кажущийся допустимым атрибут в диалоговом окне вставки столбца) НЕ БУДЕТ РАБОТАТЬ.

 string ostr = o."Object Identifier" ""
  

Надеюсь, это поможет!

Ответ на комментарий: Вам не должно требоваться имя модуля для работы кода. Я успешно протестировал следующее в DOORS 9.6.1.10:

 Object o = current

string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""

print ostr
  

Ответ №2:

Другим решением является использование функции identifier, которая принимает объект в качестве входного параметра и возвращает идентификатор в виде простой (не RTF) строки:

Операция объявления идентификатора строки (Object o) Возвращает идентификатор объекта o в виде строки, который представляет собой комбинацию абсолютного числа и префикса модуля.

Оптимальное решение в некоторой степени зависит от вашего базового требования к получению идентификатора объекта.