|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
Возникла проблема преобразования таблциц из XML в LaTeX. Конкретно загвоздка заключается в отделении одной таблицы от другой. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Преобразование Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
В итоге таблицы начинают формироваться верно и нормально отображаются в LaTeX, но Debit, тоесть тело таблицы, встречается в документе два и более раз, а обрабатывается весь документ. Таким образом в первую таблицу помещается Debet относящийся к конкретному Launch и Debet, тот что будет только в след launch(таблице). Как отделить друг от друга содержание таблиц? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2011, 19:16 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
zver4ok, Для начала, вместо Код: plaintext 1. 2.
напиши Код: plaintext 1. 2.
Добавь Код: plaintext
И, если аккуратно напишешь <xsl:apply-templates> в полученых шаблонах, все должно получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2011, 20:02 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
zver4ok, Еще раз глянул. Основная ошибка вот в чем: вместо Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2011, 20:53 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
refreg, Спасибо, решено. А то я в голове нагородил уже счетчиков и переменных. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2011, 21:10 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
zver4okrefreg, Спасибо, решено. А то я в голове нагородил уже счетчиков и переменных.Если начинать с корневого каталога, и постепенно разворачиваться, (как я нарисовал выше), меньше ошибок будет. Вот, например, если входящий Launch будет двигаться по ветке - то будет child-ом StatusInfo, то потомком StatusInfo2 - тогда темплейт StatusInfo/Launch/Debit будет срабатывать только для StatusInfo. И еще, если формат XML не оговорен жестко, лучше бы закрывать тег сразу в шаблоне Launch - красивее и проще. А Break вообще тогда не нужен Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2011, 21:37 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
refreg, Переделал, в соответствии с рекомендациями. Работает это как надо. Но структура XML задана жестко и изменить нельзя. break - это просто заметка о причине приостановки. Но Break потомок StatusInfo, на ряду с Launch. И как Debit обрабатывать будет не верно. Теперь таже проблема с break. необходимо применить шаблон <xsl:apply-templates select="Break"/> Если сделать это в StatusInfo, до либо после Launch, он так и выведется, в не зависимости от структуры. Если вызвать в Launch <xsl:apply-templates select="//Break"/>, то break будет там где необходимо, но будет повторяться столько раз, сколько Break присутствует. Снова пример XML Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
XSL: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Как необходимо правильно применить шаблон break, чтобы выводился соответствующий Break, после соотвествующего Launch ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2011, 18:26 |
|
XML->XSLT таблицы
|
|||
---|---|---|---|
#18+
zver4ok, Не понял, зачем нужен Break, ну да ладно - как то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2011, 19:44 |
|
|
start [/forum/topic.php?fid=14&msg=37118226&tid=1333014]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
87ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 500ms |
0 / 0 |