Содержание
- 2. Как выбирать данные из загруженных XML-документов? Cуществуют специальные стандартизированные языки, ориентированные на выборку таких данных: XPath
- 3. XPath XPath - это синтаксис для определения фрагментов XML-документа XPath использует специальные выражения для навигации по
- 4. XPath - терминология Nodes Atomic values Parent Children Siblings Ancestors Descendants
- 5. Пример XML-документа Harry Potter J K. Rowling 2005 29.99 . . .
- 6. Nodes (root element node) J K. Rowling (element node) lang="en" (attribute node)
- 7. Atomic values J K. Rowling en 2005
- 8. Parent book -> title book -> author book -> year book -> price
- 9. Children title -> book author -> book year -> book price -> book
- 10. Siblings title author year price
- 11. Ancestors title -> book title -> bookstore
- 12. Descendants bookstore -> book bookstore -> title bookstore -> author bookstore -> year bookstore -> price
- 13. Выборка узлов
- 14. Примеры (выборка узлов)
- 15. Примеры (предикаты)
- 16. Шаблоны
- 17. Примеры (использование шаблонов)
- 18. XPath Operators
- 19. Примеры (выражения XPath) /bookstore/book/title /bookstore/book[1]/title /bookstore/book/price[text()] /bookstore/book[price>35]/price /bookstore/book[price>35]/title
- 20. Как использовать XPath в СУБД? В СУБД существуют специальные функции, ориентированные на выборку данных, которые используют
- 21. Пример(XPath + ORACLE) Выборка всех имен и фамилий из xml-документа Employees : SELECT t.id, x.* FROM
- 23. Пример(XPath + ORACLE) Выборка имен всех сотрудников: SELECT t.id, x.* FROM employees t, XMLTABLE ('/Employees/Employee/firstname' PASSING
- 25. Пример(XPath + ORACLE) Имена и категории сотрудников: SELECT emp.id, x.* FROM employees emp, XMLTABLE ('/Employees/Employee' PASSING
- 27. Пример Фамилия и имя сотрудника с номером 2222: SELECT t.id, x.* FROM employees t, XMLTABLE ('/Employees/Employee[@emplid=2222]'
- 29. Пример Фамилии и имена администраторов: SELECT t.id, x.* FROM employees t, XMLTABLE ('/Employees/Employee[@type="admin"]' PASSING t.data COLUMNS
- 31. Пример Фамилии и имена сотрудников старше 40 лет: SELECT x.* FROM employees t, XMLTABLE ('/Employees/Employee[age>40]' PASSING
- 34. Скачать презентацию