Skip to content

JavaOPs/docjava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Работа с документами XML (JAXB, StAX, XPath, XSLT, XSD), PDF(Apache FOP, iText), Excel(Apache POI)


Функционал: XML файл с пользователями и едой (из приложения курса TopJava) валидируем и обрабатываем с преобразованием в другой формат

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
    excel-poi: Convert XML to Excel via Apache POI
          
Parameters:
  -i (input) Input file
  -o (output) Output file
  -s (schema) XSD schema file (for xsd and jaxb)
  -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,srtartTime=11:00,endTime=19:00
  -t (template) Transform template file (for pdf/excel transformation)

commit: Init Spring Shell App

mvn spring-boot:run  (или как обычное Spring Boot приложение из IDEA)

После старта приложения отображается консоль для ввода команд:

shell:>help
AVAILABLE COMMANDS ...

shell:>help help - info about help

Создаем usersWithMeals.xml данные пользователей с едой и схему usersWithMeals.xsd

commit: 1_xml_xsd

Схему можно сгенерировать в IDEA (в контекстном меню в xml файле -> Generate XSD Schema from XML File...) и поправить вручную

Validate XML files against XSD (XML Schema)

commit: 2_xsd_validate

  • Создем общий класс класс Schemas (его можно использовать в своих приложениях без изменений) и специфичный для нашего приложения SchemaUtil

  • Вызываем SchemaUtil.validate из Commands и в каталоге scr\test создаем тесты

  • Для запуска JUnit тестов прямо в IDEA ниже версии 2023.2 в pom требуется добавить junit-platform-launcher

  • Validate an XML File Against an XSD File

shell:>help xsd
shell:>xsd -i in/usersWithMeals.xml -s in/usersWithMeals.xsd
shell:>xsd -i in/badXmlFile.xml -s in/usersWithMeals.xsd

About

https://javaops.ru/view/docjava

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages