powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление символа в BI Publisher
8 сообщений из 8, страница 1 из 1
Удаление символа в BI Publisher
    #39815398
3ePuK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Просьба подсказать как можно удалить последний символ из полученного результата в BI Publisher?
Для получения результата у меня используется следующее выражение:
<?for-each@inlines: Phone[PhActFlg='Y']?><?PhoneNum?>, <?end for-each?><?for-each@inlines: Email[EmFlg='Y']?><?Email?>, <?end for-each?><?for-each@inlines: Address[AddrType='5']?><?Address?>, <?end for-each?>
Причем в результате может быть как 10 записей, так и ни одной. Мне требуется удалить последнюю запятую, которая будет даже при выводе одной записи.
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815405
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3ePuK,

trim не подойдет?
Код: plsql
1.
<?xdoxslt:rtrim(field,',')?>
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815676
3ePuK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790,

у меня не получилось, так как все мое выражение не считывается командой rtrim, либо я неправильно написал синтаксис:
<?xdoxslt:rtrim(<?for-each@inlines: Phone [PhoneActiveFlg=’Y’]?><?PhoneNum?>, <?end for-each?><?for-each@inlines: Email?><?EmailAddr?>, <?end for-each?><?for-each@inlines: Addresses[AddressType=’6’]?><? Address?>, <?end for-each?>,',')?>
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815707
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3ePuK,

функция применяется к атрибуту, а не ко всей строке.
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815719
3ePuK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790,

В том и проблема, что я не могу найти функцию, которая бы изменила результирующую строку...
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815758
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3ePuK,

"пораскиньте" уже мозгами, как варианты:
итерацию цикла писать в переменную(variable) и trim.
каждое поле проверить на null и trim + последнее поле trim
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39815813
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сложную конкатенацию и логику (if'ы) лучше все же переносить в модель данных.
Функциями XSL можно многое изобразить, но больно грамоздко и сложно отлаживать/саппортить.

IMHO & AFAIK
...
Рейтинг: 0 / 0
Удаление символа в BI Publisher
    #39816337
3ePuK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге у меня получилось вот такое:
<?for-each@inlines: Phone [PhActFlg=’Y’]?><?xdoxslt:set_variable($_XDOCTX, 'inf_var',concat(PhoneNum,’, ’))?><?xdoxslt:set_variable($_XDOCTX, ‘inf_res’, concat(xdoxslt:get_variable($_XDOCTX,'inf_res'),xdoxslt:get_variable($_XDOCTX,'inf_var')))?><?end for-each?>
<?for-each@inlines: Email[EmFlg='Y']?><?xdoxslt:set_variable($_XDOCTX, 'inf_var',concat(Email,’, ’))?><?xdoxslt:set_variable($_XDOCTX, ‘inf_res’, concat(xdoxslt:get_variable($_XDOCTX,'inf_res'),xdoxslt:get_variable($_XDOCTX,'inf_var')))?><?end for-each?>
<?for-each@inlines: Address[AddrType=’5’]?><?xdoxslt:set_variable($_XDOCTX, 'inf_var',concat(Address,’, ’))?><?xdoxslt:set_variable($_XDOCTX, ‘inf_res’, concat(xdoxslt:get_variable($_XDOCTX,'inf_res'),xdoxslt:get_variable($_XDOCTX,'inf_var')))?><?end for-each?>
<?substring(xdoxslt:get_variable($_XDOCTX, 'inf_res'),1,string-length(xdoxslt:get_variable($_XDOCTX, 'inf_res'))-2)?>

Выглядит некрасиво, тяжело поддерживаемое, но на данном этапе главное что работает.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление символа в BI Publisher
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]