|
|
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
Привет, что-то ищу ответ на вроде бы простой вопрос по XSL и не нахожу. Формирую отчет, есть шаблон XSL. После прохода цикла мне просто нужно узнать номер последней выведенной командой ROW строки. При этом не все строки я беру, а position() и last() считают каждую итерацию. Ну вот можно же принудительно написать <Row ss:Index="10" или если не указывать индекс явно, то автоматом следующая используется. Нужно узнать текущий индекс в конце работы с данными. Или как организовать переменную в которую запишу сколько строк уже выведено (но прочел что переменных XSL не изменяются). Боюсь что тут http://www.sql.ru/forum/1276463/kak-uznat-nomer-stroki-v-xsl ответа не дождусь, может в этой ветке помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 13:12 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
Т.к. не нужно спрашивать на форуме то, что легко находится в гугле ))) К примеру: http://adivaconsulting.com/bi-publisher/item/81-rtf-template-working-with-variables.html Насколько я помню, сам BI Publisher достаточно активно счетчики в .RTF шаблонах использует. Т.ч. переназначать BI Publisher переменные вполне можно (это не чистые переменные XSL, а переменные BI Publisher'а) Как вызвать xdoxslt ф-ции из XSL шаблона (надо ли их как-то описывать), не знаю. Но всегда можно посмотреть на XSL-FO шаблоны генерируемые паблишером. IMHO & AFAIK. p.s. С паблишером работал лет 10 назад ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 13:24 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
Я не нагуглил к сожалению, читаю XSLT. Простое же вроде действие, узнать индекс последней строки, в которую подавали данные. Мне нужно это именно в файле сделать. Думал на поверхности ответ. Нужно или считать самому (но как если пишут о xsl:variable "переменные в XSLT нельзя изменять") или всё же думаю должен быть встроенный метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 13:33 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно, что Вы хотите, но зачем Вы этот кусок Код: plsql 1. 2. 3. 4. 5. 6. 7. в цикле крутите? перенесите после </xsl:for-each> и Ваши Rows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 16:32 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
K790Не совсем понятно, что Вы хотите, но зачем Вы этот кусок Код: plsql 1. 2. 3. 4. 5. 6. 7. в цикле крутите? перенесите после </xsl:for-each> и Ваши Rows. В цикле last() показывает сколько итераций прошло. За циклом выводит 1. Что мне надо, просто хочу узнать сколько раз выполнилась команда <Row> </Row>, т.е. сколько я уже строк в выходном файле заполнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:38 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
работала с этой программой, очень тяжелая вещь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:08 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
KateNastработала с этой программой, очень тяжелая вещь Назвать XML Publisher очень тяжелой вещью..... Это Вы наверное на Oracle Reports не работали, после Репортсов XML Publisher "как каравелла по зелёным волнам, прохладным ливнем после жаркого дня" ( С ) ))) IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:21 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
leprechaunK790Не совсем понятно, что Вы хотите, но зачем Вы этот кусок Код: plsql 1. 2. 3. 4. 5. 6. 7. в цикле крутите? перенесите после </xsl:for-each> и Ваши Rows. В цикле last() показывает сколько итераций прошло. За циклом выводит 1. Что мне надо, просто хочу узнать сколько раз выполнилась команда <Row> </Row>, т.е. сколько я уже строк в выходном файле заполнил. Ту на помощь приходит variable... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 13:32 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
VARCHAR4000 Ту на помощь приходит variable... Так да пришла бы на помощь variable, но в цикле что Вы указали last() будет считать просто количество итераций, а я могу и по 2-3 строки добавлять внутри. Если бы она как нормальная переменная могла наращивать значение счетчиком +1, то и вопроса бы не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 14:33 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
leprechaunVARCHAR4000 Ту на помощь приходит variable... Так да пришла бы на помощь variable, но в цикле что Вы указали last() будет считать просто количество итераций, а я могу и по 2-3 строки добавлять внутри. Если бы она как нормальная переменная могла наращивать значение счетчиком +1, то и вопроса бы не было. Не совсем понял... Если идет речь о вложенности циклов, в каждом цикле объявляйте свою переменная... Так это и есть обычная переменная, инициализируйте ее сначала 0, а в цикле инкрементируйте... Не вижу проблем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 15:25 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
[quot VARCHAR4000]leprechaunпропущено... Не совсем понял... Если идет речь о вложенности циклов, в каждом цикле объявляйте свою переменная... Так это и есть обычная переменная, инициализируйте ее сначала 0, а в цикле инкрементируйте... Не вижу проблем... Да как её наращивать эту переменную, если тут написано https://xsltdev.ru/xslt/xsl-variable/ что переменные в XSLT нельзя изменять. Как я понял могу лишь раз объявить как хранилище значения. Если бы в цикле была одна строка, их еще можно сложить, но в моём одном цикле может быть 2-3 команды Row и не этот счетчик с каждой не увеличить, считать будет только итерации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:55 |
|
||
|
Помощь с паблишером
|
|||
|---|---|---|---|
|
#18+
Для тех у кого нет рук ))), пример из моего ответа выше (2-ое сообщение в данной теме) в виде XSL шаблона. Самое сложное было XML Publisher Desktop поставить ((( проверял в BI Publisher Template Viewer в режиме XSLT XML файл с данными для проверки Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Собственно XSLT-шаблон с инкрементом Publisher-ой переменной counter Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2018, 18:42 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39602488&tid=1884390]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 521ms |

| 0 / 0 |
