JAXP та JAXB
• JAXP (Java API for XML Proccessing) – набір технологій API для роботи з XML з Java.
• DOM (Document Object Model).
• SAX (Simple API for XML Parsing).
• StAX (Streaming API for XML).
• XSLT (Extensive Stylesheet Language Transformations).
• XPath (XML Path Language).
• JAXB (Java Architecture for XML Binding) – новіша специфікація.
• Представлення XML-елементів у вигляді класів Java.
• Анотації.
JAXB
• Pojo (Plain Old Java Object).
• Використовуються анотації.
• Простіше використовувати ніж JAXP.
• Легше програмувати в стилі ООП.
• Більш високорівневий підхід ніж JAXP.
• Вебсервіси Java працюють на JAXB, але можуть використовувати й JAXP.
XSLT
XSLT (eXtensible Stylesheet Language Transformations) – мова перетворення XML-документів. Специфікація XSLT входить до складу XSL та є рекомендацією W3C.
Під час застосування таблиці стилів XSLT, яка складається з набору шаблонів, до XML- документа (вихідне дерево) утворюється кінцеве дерево, що може бути серіалізоване у вигляді XML-документа, XHTML-документа (тільки для XSLT 2.0), HTML-документа або простого текстового файлу. Правила вибору (і, частково, перетворення) даних із вихідного дерева пишуться мовою запитів XPath.
XPath
XPath (XML Path Language) – мова запитів до елементів XML-документа. Розроблена для організації доступу до частин документа XML у файлах трансформації XSLT та є стандартом консорціуму W3C. XPath покликана реалізувати навігацію DOM в XML. У XPath використовується компактний синтаксис, який відрізняється від прийнятого в XML.
• nodename – усі діти поточного вузла з ім'ям nodename.
• nodename//subnodename – між nodename і subnodename може бути будь-яка кількість «тек».
• /nodename/subnodename – шлях від кореня – поточний вузол – батько.
• @attribute-name – атрибут з іменем attribute-name.
Предикати:
• Предикати:
• nodename/subnodename[1] – 1-й вузол у послідовності subnodename.
• nodename[last() – 1] – передостанній вузол.
• nodename/subnodename[position() < 3] – перші два вузли.
• nodename[@lang='ua'] – всі вузли, які мають атрибут lang зі значенням ua.
• Wildcards:
• * – будь-який вузол.
• @* – будь-який атрибут.
• node() – будь-який вузол чи атрибут.
• Альтернативи:
• nodename1 | nodename2 – вузли з ім'ям nodename1 або з ім'ям nodename2.
• //nodename1 | nodename2[@gender] | nodename3//subnode – можна писати скільки завгодно альтернатив.
d;saf,' nodename[@lang='ua'] – всі вузли, які мають атрибут lang зі значенням ru.
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Тема уроку: 3. JAX-WS and JAXB, Apache CXF
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩