Продолжая тему генерации документов на основе шаблонов, хочу обсудить создание документа, в котором помимо относительно постоянных частей есть части, внешний вид и содержание которых полностью зависят от данных.
Те.
Мы не говорим о тривиальном заполнении полей или простых таблицах.
Речь идет о таблицах с разнообразными текстурами, с разным количеством столбцов под одним заголовком, а тип самой таблицы определяется данными.
Для реализации такого документа в шаблоне можно заранее определить отдельные возможные ряды таблицы, дать им название, а затем собрать из этих рядов таблицу точно так же, как нанизывают бусины на нить или как нанизывают нити.
укладывают слой за слоем на ткань с необходимым рисунком.
В процессе генерации эти вспомогательные строки удаляются из документа.
Какая строка должна быть вставлена в документ, определяется его названием.
Именованная строка не обязательно должна быть строкой таблицы; это может быть текст с желаемыми атрибутами отображения.
Таким способом можно собрать документ, в котором текст чередуется с различными таблицами.
Помимо именованных строк, в шаблоне указывается место начала построчной печати.
Задача программиста в этом случае сводится к генерации XML, который помимо данных будет указывать, в какой строке его отображать.
Что.
Достигается практически полное (только имя строки определяет формат) отделение данных от их представления.
И самое приятное то, что имена строк могут иметь смысл, а генерация происходит быстро.
В заключение хотелось бы добавить, что в шаблоне может быть несколько мест, где нужно набирать строки с данными.
Каждое место имеет свое название (идентификатор).
В XML с входными данными вы должны передать это имя в определенном теге перед печатью данных построчно.
Естественно, данные для печати должны быть отсортированы в строковом порядке.
Теги: #генератор #Чулан #генерация документов
-
Не Ждите Быстрого Заработка В Интернете
19 Oct, 24 -
Игра Об Авторе Systemd — Леннарте Поттеринге
19 Oct, 24 -
Неявно Устанавливать Значение Объекта Date?
19 Oct, 24 -
Google Отступил
19 Oct, 24 -
Загадка Элементарной Арифметики
19 Oct, 24