◐ Shell
clean mode source ↗

DocJava: XML (XSD, JAXB, StAX, XPath, XSLT), PDF, Excel

О курсе:

Работа с документами присутствует в большинстве даже небольших Java проектов.
Правильный выбор технологий и фреймворков и уже готовые для использования Java-классы позволяет сэкономить большое количество ресурсов разработчика и компании.

Лучший способ обучения программированию - практика!

Реализация небольшого консольного приложение на Spring Shell,
которое демонстрирует основы эффективной работы с документами
XML(JAXB, StAX, XPath, XSLT 2.0, XSD),
PDF(Apache FOP, iText PDF), Excel(Apache POI, Jxls)


Функционал:

Простой XML файл с пользователями и едой (из приложения курса TopJava)
валидируем, фильтруем и преобразуем в документы разных типов

В результате прохождения курса Вы попрактикуете работу на Java
с Spring Shell CLI и различными типами документов.
У вас будет готовый шаблонных код, который вы можете использовать в реальных коммерческих проектах.

Время прохождения курса: 1-3 дня

Обновление! Добавлено преобразование в Excel используя Jxls

Скидка 2780 1390 руб.

  • Доступ ко всем материалам занятий (пошаговый текстовой туториал)
  • Репозиторий и код проекта (обновление патчами или скачать весь проект)
  • Практика + готовый шаблонный код для вашего приложения
  • Поддержка в специальной группе Telegram
  • Время прохождения не ограничено, материалы даются навсегда

Стоимость курса на Stepik с промокодом JAVAOPS немного дешевле.
Приобретите его там и пришлите мне чек на admin@javaops.ru или по любому из контактов:  

Я дам вам доступ здесь бесплатно (курс у вас будет здесь и на Stepik)

Программа:

git clone https://github.com/javaOPs/docjava.git
  • Создание консольного Spring Shell приложения
  • Создаем usersWithMeals.xml данные пользователей с едой и схему usersWithMeals.xsd
  • Реализация xsd: Validate XML file against XSD (XML Schema)
    Commands:
    xsd: Validate XML files against XSD (XML Schema)
    jaxb: Process XML file via JAXB
    stax: Process XML file via StAX
    xpath: Evaluate XPath against XML
    xslt: Transform XML with XSLT
    pdf-fop: Convert XML to PDF via Apache FOP
    iText: Convert XML to PDF via iText PDF
    excel-poi: Convert XML to Excel via Apache POI
    jxls: Convert XML to Excel via Apache Jxls
    html2pdf: Convert HTML to PDF via iText pdfHTML
    Parameters:
    -i (input) Input file
    -o (output) Output file
    -s (schema) XSD schema file (for xsd)
    -e (exp) XPath expression (for xpath)
    -x (xsl) XSL transformation file (for xslt)
    -e (email) User email (for stax)
    -f (filter) Filter params: startDate=2023-01-30,endDate=2023-01-30,startTime=11:00,endTime=19:00
    -t (template) Transform template file (for pdf/excel transformation)

Ввод : XML файл с пользователями и едой, XSD схема

  • Генерируем из XSD схемы Java-классы
  • JAXB unmarshalling (десериализация)
  • Тестирование
  • Обработка Filter params
  • JAXB marshalling (сериализация)
  • Ищем пользователя с переданным email, фильтруем и маршализуем
  • Тестируем StaxUtil с параметризацией

Вывод найденного "user@yandex.ru": stax.xml

  • Базовая реализация XSLT
  • XSLT 2.0: форматирование время и даты
  • Вызов методов Java из xslt (Saxon)
  • Добавляем параметры фильтра

Вывод: xslt.html

  • Преобразуем XML в XSL-FO (XSLT)
  • Преобразуем XSL-FO в PDF (Formatting Objects Processor)

Вывод: fop.pdf

  • Создание и вывод PDF документа
  • Регистрация и установка шрифтов

Вывод: iText.pdf

  • Вывод пользователей в отдельные вкладки (excel sheet)
  • Обработка паттерна ${простая_подстановка_значения}
  • Обработка паттерна \{требуется_модификация_страницы}
  • Добавляем цвет
  • Рефакторинг Util классов

Шаблон: poiTemplate.xlsx
Вывод: poi.xlsx

  • Подготовка к реализации
  • Базовая реализация на основе шаблона
  • Кастомизация: добавляем цвет

Шаблон: jxlsTemplate.xlsx
Вывод: jxls.xlsx

Ввод: users.html
Вывод: users.pdf