Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Ср Мар 11, 2020 09:46  Не понятные конструкции в коде. Help. |
|
Полезность: Нет оценки
|
Здравствуйте. С ЦФТ столкнулась по приёмке доработок от разработчиков и тестировании.
Хочу разобраться по коду что тут делается.
Подскажите пожалуйста.
Примерно такой код в v_req_clob помещает вот такую строку с XML:<Responce><Data><name><code>code123</code><Params><par1>123</par1><par2>123</par2></Params></name></Data></Responce>
И подскажите, возможно ли чтобы ЦФТ отформатировало результат ? когда ответ формируется большой, в одну строку, очень неудобно в нем ориентироваться.
Спасибо.
Код: | Declare
p_clob clob:='<par1>123</par1><par2>123</par2>';
StrHead varchar2(32767);
StrFoot varchar2(32767);
v_req_clob clob;
begin
StrHead :=
&xmltag('Responce',
&xmltag('Data',
&xmltag('name'
|| &xmltag('code', 'code123')
|| &xmltag('Params', &splitlex)
)
)
);
&splitstr(StrHead,StrFoot);
&wr_clob(v_req_clob,StrHead);
dbms_lob.append(v_req_clob,p_clob);
&wr_clob(v_req_clob,StrFoot);
End; |
|
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Ср Мар 11, 2020 14:05   |
|
Полезность: Нет оценки
|
Не понятно, что хотите отформатировать. Если строку xml, то ее лучше смотреть либо в браузере, либо специальными вьюверами. |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Ср Мар 11, 2020 14:57  Re: Не понятные конструкции в коде. Help. |
|
Полезность: Нет оценки
|
Anna_buk пишет: |
И подскажите, возможно ли чтобы ЦФТ отформатировало результат ? когда ответ формируется большой, в одну строку, очень неудобно в нем ориентироваться.
|
Как вариант использую такой
https://xmlbeautifier.com
, но на вкус и цвет как говорится...) |
|
 |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Ср Мар 11, 2020 21:45  Re: Не понятные конструкции в коде. Help. |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Anna_buk пишет: |
И подскажите, возможно ли чтобы ЦФТ отформатировало результат ? когда ответ формируется большой, в одну строку, очень неудобно в нем ориентироваться.
|
Как вариант использую такой
https://xmlbeautifier.com
, но на вкус и цвет как говорится...) |
Имелось ввиду чтобы ЦФТ отдавало отформатрированный XML. |
|
 |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Ср Мар 11, 2020 21:49   |
|
Полезность: Нет оценки
|
Ну форматирование не особо волнует.
Кто в целом может объяснить эти конструкции не совсем понятные. Я в описании языка по поиску не смогла найти их.
Что такое splitstr и зачем оно. Что такое xmltag ?
Код: |
Declare
p_clob clob:='<par1>123</par1><par2>123</par2>';
StrHead varchar2(32767);
StrFoot varchar2(32767);
v_req_clob clob;
begin
StrHead :=
&xmltag('Responce',
&xmltag('Data',
&xmltag('name'
|| &xmltag('code', 'code123')
|| &xmltag('Params', &splitlex)
)
)
);
&splitstr(StrHead,StrFoot);
&wr_clob(v_req_clob,StrHead);
dbms_lob.append(v_req_clob,p_clob);
&wr_clob(v_req_clob,StrFoot);
End; | [/list] |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Мар 12, 2020 02:14   |
|
Полезность: Нет оценки
|
Anna_buk пишет: | Ну форматирование не особо волнует.
Кто в целом может объяснить эти конструкции не совсем понятные. Я в описании языка по поиску не смогла найти их.
Что такое splitstr и зачем оно. Что такое xmltag ?
|
Макроподстановка... обычная...
Описание либо в текущем модуле либо через инклуд
Можете вставить на конструкции splitstr или xmltag курсором в исходниках, нажать ф12 и посмотреть где, в какой операции живет реализация и что она собственно делает |
|
 |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Чт Мар 12, 2020 12:24   |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Anna_buk пишет: | Ну форматирование не особо волнует.
Кто в целом может объяснить эти конструкции не совсем понятные. Я в описании языка по поиску не смогла найти их.
Что такое splitstr и зачем оно. Что такое xmltag ?
|
Макроподстановка... обычная...
Описание либо в текущем модуле либо через инклуд
Можете вставить на конструкции splitstr или xmltag курсором в исходниках, нажать ф12 и посмотреть где, в какой операции живет реализация и что она собственно делает |
Да уточнила и мне подсказали это вроде как ручной сбор XML .
Но не поняла зачем splitlex тут нужен.
Код: | splitlex const string :='<SPLIT/>';
procedure SplitStr(StrHead in out varchar2(32767), StrFoot out varchar2(32767)) is
ps number;
begin
ps := instr(StrHead,&splitlex);
if ps > 0 then
StrFoot := substr(StrHead,ps+length(&splitlex));
StrHead := substr(StrHead,1,ps-1);
else
StrFoot := null;
end if;
end;
function xmltag(TagName varchar2(32767), TagValue varchar2(32767)) return varchar2(32767) is
ret varchar2(32767);
begin
if tagname is null then
pragma error('Не задано имя тэга');
end if;
ret := '<'||tagname;
tagvalue := dbms_xmlgen.convert(tagvalue,0);
ret := ret || sattr || '>' || tagvalue || '</' || TagName || '>';
return ret;
end;
procedure wr_clob(v_clob in out nocopy clob, wstr varchar2(32767)) is
begin
dbms_lob.writeappend(v_clob, length(wstr), wstr);
end;
|
|
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Мар 12, 2020 13:50   |
|
Полезность: Нет оценки
|
Anna_buk пишет: |
Но не поняла зачем splitlex тут нужен.
|
Судя по исходникам процедура для разделения XML на заголовок strhead и тело strfoot по разделителю splitlex
Решили назвать разделитель сплитом
XML свободный формат) |
|
 |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Вт Мар 24, 2020 15:52   |
|
Полезность: Нет оценки
|
А есть документация по этому ? Это же какая-то ЦФТ-ая разработка ? |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Вт Мар 24, 2020 16:19   |
|
Полезность: Нет оценки
|
Anna_buk пишет: | А есть документация по этому ? Это же какая-то ЦФТ-ая разработка ? |
У ЦФТ нет документации комментирующей исходники
Только по бизнесу плюс описания синтаксиса и арм ов
Едва ли ЦФТ будет кому то объяснять зачем тут в исходниках нужен splitlex... |
|
 |
Anna_buk Участник
Вступление в Клуб: 10.03.2020
|
Вт Мар 24, 2020 17:53   |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Anna_buk пишет: | А есть документация по этому ? Это же какая-то ЦФТ-ая разработка ? |
У ЦФТ нет документации комментирующей исходники
Только по бизнесу плюс описания синтаксиса и арм ов
Едва ли ЦФТ будет кому то объяснять зачем тут в исходниках нужен splitlex... |
Нет документация бывает.
Мне давали както документацию ЦФТную по &out_put_val &out_put_coll &get_num и т.п
Это не исходники цфт. Это оутсорс делал. Вроде бы возможности системы использованы, но в 35_сервисы_и_интерфесы тоже не нашла. |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Вт Мар 24, 2020 18:32   |
|
Полезность: Нет оценки
|
Anna_buk пишет: |
Мне давали както документацию ЦФТную по &out_put_val &out_put_coll &get_num и т.п
|
Если вспомните название документа... с большой долей вероятности его можно будет разыскать ...))) |
|
 |
|