|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Вопрос в следующем. Есть XSL-файл, который на выходе выдает в формате PDF таблицу. Задача в том, чтобы таблица всегда растягивалась по всей длине страницы, т.е. чтобы при малом количестве столбцов они растягивались, и наоборот, при большем-сужались, но чтобы таблица всегда заполняла всю страницу по горизонтали. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 12:39 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, Не задавай ширину, хотя бы у одного столбца. Если не получится, показывай тестовый пример... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 13:17 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Вот XSL-файл. Когда убираю ширину, то таблица растягивается за пределы страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 13:39 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, Еще бы XML тогда уж. Или, лучше, XSL-FO... Навскидку, здесь цикл нужен? У тя динамическое кол-во столбцов? Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 14:02 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Да, количество столбцов меняется от раза к разу. Как раз если там убрать column-width, то таблица начинает уходить за страницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 14:09 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, Убери column-number="1" , цикл делает несколько колонок с этим номером, и возможно в этом проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 14:39 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Если убрать, то растягивается, но каждая пятая колонка большой получается. Хотелось бы все таки чтобы они были одинаковой ширины ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 14:55 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, Зачем здесь группировка? А в столбцах группировки нет... Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 15:08 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
refregSteven333, Зачем здесь группировка? А в столбцах группировки нет... Код: plaintext
И, еще тупо посчитай в получаемом XSL-FO сколько колонок продекларировано, сколько получилось в хедере, и сколько в каждой строке боди. Желательно, что бы было все равно... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 15:21 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Ага, спасибо. Сейчас попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 15:44 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
1) На счет количества колонок, там везде по 6. 2) На счет for-each-group. Я попробовал убрать, но без этого не фурычит. 3) Не могу понять одного. Когда я убираю column-width у первого, то он совершенно произвольно увеличивает некоторые колонки. И кстати если вообще убрать декларацию колонок то он их расширяет и при этом все равно остается этот странный феномен с шириной некоторых колонок. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 16:41 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333Да, количество столбцов меняется от раза к разу. Как раз если там убрать column-width, то таблица начинает уходить за страницу.Steven3331) На счет количества колонок, там везде по 6.Вот как увязать? Разбирайся, мне скучно... стало... PS. Вообще-то 5 колонок ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 17:11 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Прописано по 6 в декларации, хедере и боди. Может не втом варианте, который я скидывал, но по сути так должно быть, т.к. 5 из них постоянны, а одна как раз таки и меняет количество с количеством предметов. Естессно буду разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 17:22 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, ладно, а про динамичность столбов что напишешь? Кидай тогда XSL-FO, который по-твоему правильный - а выходит неправильно. Локализовывать проблему надо... И плясать от тестовых примеров... И, да! Если кинешь XSL-FO - сформулируй, заново, что в нем не так... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 17:29 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Значит что тут. Все выходит ровненько. Со столбцами следующая ситуация: в декларации идет 2 столбца, в хедере 6, в боди-7, т.к. иначе под пустым столбцом в хедере не выводится пустая ячейка в боди(почему так, не знаю). Проблема та же, растянуть на всю страницу. Я пробовал эксперементировать с декларацией, и как раз получал разные знчения ширины колонок. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 17:54 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Динамичность состояит в следующем: сейчас имеется определенное количество столбцов. Но если в xml выведется больше предметов, т.е. больше столбцов, то следовательно эфект с заполнением всей страницы должен остаться. Т.е. изначально нельзя предугадать сколько их там будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 17:56 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333в декларации идет 2 столбца, в хедере 6, в боди-7 Ну, это уже не смешно... Steven333Я пробовал эксперементировать с декларацией, и как раз получал разные знчения ширины колонок.Это уже ближе, убери декларацию ширины у резиновой колонки(у резиновых колонок), у остальных оставь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 18:28 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, И вообще, почему добавляются колонки, а не строки? Какой-то странный отчетик будет... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 18:31 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Да там и строки добавляются, но со строками как раз ничего сложного. А вот со столбцами уже тяжелей. Если я у одного столбца убираю декларацию, то он совершенно непонятным образом растягивает, т.е. какие-то столбцы пропускает, а какие-то растягивает слишком, причем просто растягивает, а не заполняет страницу. Поэтому никак не могу уловить ту стратегию, по которой так происходит ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 19:22 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333Да там и строки добавляются, но со строками как раз ничего сложного. А вот со столбцами уже тяжелей. Если я у одного столбца убираю декларацию, то он совершенно непонятным образом растягивает, т.е. какие-то столбцы пропускает, а какие-то растягивает слишком, причем просто растягивает, а не заполняет страницу. Поэтому никак не могу уловить ту стратегию, по которой так происходитНу ты же никак не можешь этого показать!!! Я же тя просил покажи нормальный XSL-FO , еще раз XSL-FO , не XSL , не XML , а XSL-FO , в котором количество объявленных столбцов равно количеству столбцов в заголовке, и равно количеству столбцов в строках. Так, что бы там не были продекларированы нумерации столбцов, или продекларированы по порядку, без повторов, и что бы хотя бы у одного столбца не была задана ширина... И если у такого XSL-FO не будет таблица растянута на всю ширину, с удовольствием гляну... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2011, 19:46 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
1-ый файл PDF: table-header: 6 столбцов, table-body: 7 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column/> </xsl:for-each> 2-ой файл PDF: table-header: 6 столбцов, table-body: 7 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column column-width="0.45cm"/> </xsl:for-each> 3-ий файл PDF: table-header: 6 столбцов, table-body: 7 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> </xsl:for-each> 4-ый файл PDF: table-header: 6 столбцов, table-body: 6 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> </xsl:for-each> 5-ый файл PDF: table-header: 6 столбцов, table-body: 6 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column/> </xsl:for-each> 6-ой файл PDF: table-header: 6 столбцов, table-body: 6 столбцов <xsl:for-each select="Grade"> <fo:table-column column-width="2.5cm" /> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column column-width="0.45cm"/> <fo:table-column/> </xsl:for-each> 7-ой файл PDF: table-header: 6 столбцов, table-body: 6 столбцов <xsl:for-each select="Grade"> <fo:table-column column-number="1" column-width="2.5cm" /> <fo:table-column column-number="2" column-width="0.45cm"/> <fo:table-column column-number="3" column-width="0.45cm"/> <fo:table-column column-number="4" column-width="0.45cm"/> <fo:table-column column-number="5" column-width="0.45cm"/> <fo:table-column column-number="6"/> </xsl:for-each> ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 10:37 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven3336-ой файл PDF: table-header: 6 столбцов, table-body: 6 столбцовА я в 6-м pdf досчитал до 20-го столбца, дальше надоело... Опять же это выдержки из xsl, а не xsl-fo... Поясню, если до сих пор неясно: 1. Есть данные в xml (никакого отношения к pdf) 2. Есть шаблон для преобразования xsl (никакого отношения к pdf) 3. Есть FO-процессор, который выдает PDF (или что-то другое наглядное) - этот процессор понимает определенный формат XSL-FO - и только его. По счастливой случайности, этот формат является XML. Хотя на самом деле он вполне мог быть бинарным, текстовым, или еще каким-нить. 4. С помощью XSL, данные из XML преобразуется в XSL-FO. 5. XSL-FO поступает на вход FO-процессора, получаем PDF. В связи с этим, разработка должна идти от обратного: 1. Анализируем, что должно быть в PDF 2. Моделируем XSL-FO, так что из него получается требуемый PDF. 3. Разрабатываем XSL, который из данных XML сделает требуемый XSL-FO. У тя проблема на 2-м шаге - ты его успешно пропустил, и поэтому не можешь ответить даже на такой простой вопрос, как "Сколько у тя столбцов". Считать столбцы нужно в XSL-FO!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:22 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
ок, каким образом мне этот самый xsl-fo посмотреть? через что и как? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:45 |
|
Растягивание таблицы в XSL
|
|||
---|---|---|---|
#18+
Steven333, Приехали, а мы тут о высоких материях... Программа для применения xslt к xml Ну, и google... PS. Уверен на 99%, что такое преобразование умеет то, чем ты пользуешься для написания XSL ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:52 |
|
|
start [/forum/topic.php?fid=14&tid=1332962]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 295ms |
total: | 451ms |
0 / 0 |