Курс QA manual. Основы XML. Использование XPATH

Содержание

Слайд 2

Логическая задачка Человек, делающий это, в нем не нуждается; человек, покупающий

Логическая задачка

Человек, делающий это, в нем не нуждается; человек, покупающий это,

сам им не пользуется, а человек пользующийся этим, об этом не знает.
Свекровь Клеопатры очень не любила ее и хотела ее убить. Но Клеопатра была не так глупа и была осторожной, и каждый раз она спасалась. Однажды, свекровь пригласила ее на ужин. Она разрезала ножом кусок мяса пополам, одну часть съела сама, а другую отдала Клео. После этого Клео умерла. Как удалось свекрови отравить Клеопатру?
Слайд 3

Что такое XML? HTML (от англ. HyperText Markup Language — «язык

Что такое XML?

HTML (от англ. HyperText Markup Language — «язык гипертектстовой разметки») — стандартный язык разметки документов.
XML - Extensible Markup Language, Расширяемый Язык Разметки. Возник

в результате развития языка HTML. 
Слайд 4

Особенности XML XML, в отличие от HTML, НЕ ИМЕЕТ ПРЕДОПРЕДЕЛЕННЫХ ТЭГОВ

Особенности XML

XML, в отличие от HTML, НЕ ИМЕЕТ ПРЕДОПРЕДЕЛЕННЫХ ТЭГОВ - точнее, каждый разработчик

может создавать СВОИ СОБСТВЕННЫЕ XML-тэги - столько, сколько нужно. Количество таких тэгов практически неограничено. Таким образом, XML являетсяметаязыком, позволяющим создавать другие языки разметки, такие как, например, HTML.
Слайд 5

Особенности XML XML служит для ОПИСАНИЯ СТРУКТУРЫ ДАННЫХ, главным образом, ИЕРАРХИЧЕСКИХ СТРУКТУР.

Особенности XML

XML служит для ОПИСАНИЯ СТРУКТУРЫ ДАННЫХ, главным образом, ИЕРАРХИЧЕСКИХ СТРУКТУР.

Слайд 6

Особенности XML XML, как средство описания структуры данных, обеспечивает ОБМЕН ДАННЫМИ

Особенности XML

XML, как средство описания структуры данных, обеспечивает ОБМЕН ДАННЫМИ между

различными приложениями, выступая, таким образом, в качестве своеобразного "клея".
Слайд 7

Объявление XML Объявляется версия языка. Поскольку интерпретация содержимого документа, зависит от

Объявление XML

Объявляется версия языка. Поскольку интерпретация содержимого документа, зависит от версии

языка, то Спецификация предписывает начинать документ с объявления XML.
Кроме версии XML, объявление может также содержать информацию о кодировке документа Пример:

или:

Слайд 8

Правила создания XML- документа В заголовке документа помещается объявление XML, в

Правила создания XML- документа

В заголовке документа помещается объявление XML, в котором

указывается язык разметки документа, номер его версии и дополнительная информация
Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего "напарника", т.е., в отличие от HTML, нельзя опускать закрывающие тэги
В XML учитывается регистр символов
Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки (“”)
Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)
Слайд 9

Наш первый XML файл Классическим примером использования языка XML является описание

Наш первый XML файл

Классическим примером использования языка XML является описание электронного

письма. 



STUDENT
AUTHOR
Introduction to XML
Welcome to XML!

Слайд 10

Наш первый XML файл Тег — конструкция разметки, которая содержит имя

Наш первый XML файл

Тег  — конструкция разметки, которая содержит имя элемента.
Начальный

тег:
Конечный тег:

Тег пустого элемента:
В элементе атрибуты могут использоваться только в начальном теге и теге пустого элемента. Атрибут - это пара "название" = "значение"
Комментариями является любая область данных, заключенная между последовательностями символов
Слайд 11

Наш второй XML файл Простой хлеб Мука Дрожжи Тёплая вода Соль

Наш второй XML файл

Простой хлеб

amount="3" unit="стакан">Мука
Дрожжи
Тёплая вода
Соль


Смешать все ингредиенты и тщательно замесить.
Закрыть тканью и оставить на один час в тёплом помещении.

Замесить ещё раз, положить на противень и поставить в духовку.


Слайд 12

Исключения в XML

Исключения в XML

Слайд 13

Языки запросов XPath — сXPath (XML Path Language) — язык запросов

Языки запросов

XPath — сXPath (XML Path Language) — язык запросов к элементам XML-документа. XPath призван

реализовать навигацию по DOM в XML. Выражения XPath используются в языке XQuery.
Xquery — язык программирования, ориентированный на работу с документами.
DOM (от англ. Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
Слайд 14

XPATH – тестовая XML Первый слой блок текста в первом слое

XPATH – тестовая XML


Первый слой
блок текста в первом

слое

Второй слой

Третий слой
первый блок в третьем слое
второй блок в третьем слое
третий блок в третьем слое




XPath-путь /html/body/*/span[@class] 
/child::html/child::body/child::*/child::span[attribute::class]
Слайд 15

XPATH Путь делится на шаги адресации, которые разделяются символом «косая черта»

XPATH

Путь делится на шаги адресации, которые разделяются символом «косая черта» /

. Каждый шаг адресации состоит из трех частей:
ось (в данном примере child::), это обязательная часть;
условие проверки узлов (в данном примере это имена элементов документа html, body, span, а символ * означает элемент с любым именем), также обязательная часть;
предикат (в данном примере attribute::class), необязательная часть, заключаемая в квадратные скобки, в которой могут содержаться оси, условия проверки, функции, операторы (+, -, <, > и пр.).
Слайд 16

XPATH – тестовая XML2 25 Hello Harry Potter 29.99 Learning XML 39.95 Learning java 45.30

XPATH – тестовая XML2




25

Hello
Harry Potter
29.99




Learning XML
39.95


lang="eng">Learning java
45.30


Слайд 17

XPATH - Selecting Nodes

XPATH - Selecting Nodes

Слайд 18

XPATH - Selecting Nodes

XPATH - Selecting Nodes

Слайд 19

XPATH - Predicates Predicates are used to find a specific node

XPATH - Predicates

Predicates are used to find a specific node or

a node that contains a specific value.
Predicates are always embedded in square brackets.
Слайд 20

XPATH - Selecting Unknown Nodes

XPATH - Selecting Unknown Nodes

Слайд 21

XPATH - Selecting Several Paths By using the | operator in

XPATH - Selecting Several Paths

By using the | operator in an

XPath expression you can select several paths.
Слайд 22

XPATH - Axes

XPATH - Axes

Слайд 23

XPATH - Axes

XPATH - Axes

Слайд 24

XPATH – тестовая XML3 Hello I'm the first layer Hello I'm

XPATH – тестовая XML3



Hello I'm the first layer

Hello I'm

the second layer


Hello I'm the forth layer



Hello I'm the third layer, but I have a bro above


Hello I'm the third layer, but I have two bros above

Hello I'm the forth layer of the third layer with two bros, I also have one bro above




Слайд 25

XPATH - Axes

XPATH - Axes

Слайд 26

XPATH - Axes

XPATH - Axes

Слайд 27

XPATH Существуют сокращения для некоторых осей, например: attribute:: — можно заменить

XPATH

Существуют сокращения для некоторых осей, например:
attribute:: — можно заменить на «@»
child:: — часто просто

опускают
descendant:: — можно заменить на «.//»
parent:: — можно заменить на «..»
self:: — можно заменить на «.»
Слайд 28

XPATH - Operators

XPATH - Operators

Слайд 29

Практика Скачиваем XML файл и начинаем практиковаться! Select all the titles

Практика

Скачиваем XML файл и начинаем практиковаться!
Select all the titles
Select the title

of the first book
Select all the prices
Select price nodes with price>35
Select title nodes with price>35
Слайд 30

Домашнее задание Дополнить HomeWork.xml данными со своей команды Выбрать все комментарии

Домашнее задание

Дополнить HomeWork.xml данными со своей команды
Выбрать все комментарии
Выбрать имя

ITShool
Выбрать всех Боссов
Выбрать ФИО и Должность всех доп.работников
Выбрать ФИО только тех студентов кому больше либо равно 23 года.
Выбрать ноду-предка (в данном случае только отца) для ноды
(ancestor::)
Выбрать дочерние ноды для ноды студенты с id=3 включая ее саму
(descendant-or-self::)
Выбрать ноду следующую за студента с id=2
(following::)
Выбрать ноду находящуюся на одном уровне с хобби для студента с id=1
(following-sibling::)
Выбрать исключительно отцовскую ноду для ноды студенты
(parent::)
Выбрать предыдущую ноду на том же уровне,что и должность, для доставщика пиццы
(preceding-sibling::)