SlideShare a Scribd company logo
going through…
Xpath Introduction

Xpath Nodes
Xpath Syntax

Xpath Axes
Xpath Operators
Xpath Examples
Presented By :
Sagar Guhe
Xpath Introduction
 XPath is a syntax for defining parts of an XML document
 XPath uses path expressions to navigate in XML documents
 XPath contains a library of standard functions
 XPath is a major element in XSLT
 XPath is a W3C recommendation
Xpath Introduction
XPath Path Expressions
XPath uses path expressions to select nodes or node-sets in an
XML document
XPath Standard Functions
XPath includes over 100 built-in functions. There are functions
for string values, numeric values, date and time comparison,
node and QName manipulation, sequence manipulation,
Boolean values, and more.
XPath is Used in XSLT
XPath is a major element in the XSLT standard. Without XPath
knowledge you will not be able to create XSLT documents.
XPATH is a W3C Recommendation
It was became W3C recommendation in 16 Nov 1999
XPath Nodes
 Nodes
There are 7 types of Nodes in XPath:
• Element
• Attribute
• Text
• Namespace
• Processing-instruction
• Comment
• Document nodes
XPath Nodes


Nodes:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<!– Root Node Element-->
<book>
<!– Element Node-->
<title lang="en">Harry Potter</title>
<!-- lang=“en” attribute node-->
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>



Atomic values

J K. Rowling

“en”
XPath Nodes
 Relationship of Nodes
<book>
<!– Parent node/ ancestor-->
<title>Harry Potter</title> <!–Child/ Sibling/ descendant->
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
XPath Syntax
Selecting Nodes
Expression

Description

nodename

Selects all nodes with the name
"nodename"

/

Selects from the root node

//

Selects nodes in the document from the
current node that match the selection no
matter where they are

.

Selects the current node

..

Selects the parent of the current node

@

Selects attributes
XPath Syntax
Example
Path
Expression

Result

bookstore

Selects all nodes with the name "bookstore"

/bookstore

Selects the root element bookstoreNote: If
the path starts with a slash ( / ) it always
represents an absolute path to an element!

bookstore/boo Selects all book elements that are children of
k
bookstore
//book

Selects all book elements no matter where
they are in the document

bookstore//bo Selects all book elements that are
ok
descendant of the bookstore element, no
matter where they are under the bookstore
element
//@lang

Selects all attributes that are named lang
Predicates

XPath Syntax

 Predicates are used to find a specific node or a node that
contains a specific value.
 Predicates are always embedded in square brackets.
Examples
Path Expression

Result

/bookstore/book[1]

Selects the first book element that is the child of
the bookstore element.Note: IE5 and later has
implemented that [0] should be the first node,
but according to the W3C standard it should
have been [1]!!

/bookstore/book[last()]

Selects the last book element that is the child of
the bookstore element

/bookstore/book[last()-1]

Selects the last but one book element that is the
child of the bookstore element

/bookstore/book[position()<3]

Selects the first two book elements that are
children of the bookstore element
Predicates

XPath Syntax

//title[@lang]

Selects all the title elements that have
an attribute named lang

//title[@lang='eng']

Selects all the title elements that have
an attribute named lang with a value
of 'eng'

/bookstore/book[price>35.00]

Selects all the book elements of the
bookstore element that have a price
element with a value greater than
35.00

/bookstore/book[price>35.00]/title

Selects all the title elements of the
book elements of the bookstore
element that have a price element
with a value greater than 35.00
XPath Syntax

Selecting Unknown Nodes

XPath wildcards can be used to select unknown XML elements.
In the table below we have listed some path expressions and the
result of the expressions:
Wildcard

Description

*

Matches any element node

@*

Matches any attribute node

node()

Matches any node of any kind

Path
Expression

Result

/bookstore/*

Selects all the child nodes of the bookstore
element

//*

Selects all elements in the document

//title[@*]

Selects all title elements which have any
attribute
XPath Syntax
Selecting Several Paths

By using the | operator in an XPath expression you can select several paths. In
the table below we have listed some path expressions and the result of the
expressions:

Path Expression

Result

//book/title | //book/price

Selects all the title AND price elements
of all book elements

//title | //price

Selects all the title AND price elements in
the document

/bookstore/book/title |
//price

Selects all the title elements of the book
element of the bookstore element AND
all the price elements in the document
XPath Axes
An axis defines a node-set relative to the current node.
AxisName

Result

ancestor

Selects all ancestors (parent, grandparent,
etc.) of the current node

ancestor-or-self

Selects all ancestors (parent, grandparent,
etc.) of the current node and the current
node itself

attribute

Selects all attributes of the current node

child

Selects all children of the current node

descendant

Selects all descendants (children,
grandchildren, etc.) of the current node

descendant-or-self

Selects all descendants (children,
grandchildren, etc.) of the current node and
the current node itself
XPath Axes
following

Selects everything in the document
after the closing tag of the current node

following-sibling

Selects all siblings after the current
node

namespace

Selects all namespace nodes of the
current node

parent

Selects the parent of the current node

preceding

Selects all nodes that appear before the
current node in the document, except
ancestors, attribute nodes and
namespace nodes

preceding-sibling

Selects all siblings before the current
node

self

Selects the current node
Examples

XPath Axes

Example

Result

child::book

Selects all book nodes that are children of the current node

attribute::lang

Selects the lang attribute of the current node

child::*

Selects all element children of the current node

attribute::*

Selects all attributes of the current node

child::text()

Selects all text node children of the current node

child::node()

Selects all children of the current node

descendant::book

Selects all book descendants of the current node

ancestor::book

Selects all book ancestors of the current node

ancestor-or-self::book

Selects all book ancestors of the current node - and the
current as well if it is a book node

child::*/child::price

Selects all price grandchildren of the current node
XPath Operators
Operator

Description

Example

Return value

|

Computes two node-sets

//book | //cd

Returns a node-set with
all book and cd elements

+

Addition

6+4

10

-

Subtraction

6-4

2

*

Multiplication

6*4

24

div

Division

8 div 4

2

=

Equal

price=9.80

true if price is 9.80
false if price is 9.90

!=

Not equal

price!=9.80

true if price is 9.90
false if price is 9.80

<

Less than

price<9.80

true if price is 9.00
false if price is 9.80
XPath Operators
<=

Less than or equal to

price<=9.80

true if price is 9.00
false if price is 9.90

>

Greater than

price>9.80

true if price is 9.90
false if price is 9.80

>=

Greater than or equal to

price>=9.80

true if price is 9.90
false if price is 9.70

or

or

price=9.80 or price=9.70 true if price is 9.80
false if price is 9.50

and

and

price>9.00 and
price<9.90

true if price is 9.80
false if price is 8.50

mod

Modulus (division
remainder)

5 mod 2

1
XPath Operators
<=

Less than or equal to

price<=9.80

true if price is 9.00
false if price is 9.90

>

Greater than

price>9.80

true if price is 9.90
false if price is 9.80

>=

Greater than or equal to

price>=9.80

true if price is 9.90
false if price is 9.70

or

or

price=9.80 or price=9.70 true if price is 9.80
false if price is 9.50

and

and

price>9.00 and
price<9.90

true if price is 9.80
false if price is 8.50

mod

Modulus (division
remainder)

5 mod 2

1
Bibliography
w3c Organisation:
http://www.w3schools.com/xpath/
Thank You!!!

More Related Content

What's hot

STL in C++
STL in C++STL in C++
STL in C++
Surya Prakash Sahu
 
Standard template library
Standard template libraryStandard template library
Standard template library
Jancypriya M
 
Stl Containers
Stl ContainersStl Containers
Stl Containers
ppd1961
 
How to choose best containers in STL (C++)
How to choose best containers in STL (C++)How to choose best containers in STL (C++)
How to choose best containers in STL (C++)
Sangharsh agarwal
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
GauravPatil318
 
Standard template library
Standard template libraryStandard template library
Standard template library
Sukriti Singh
 
Io streams
Io streamsIo streams
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
Michael Heron
 
Text processing by Rj
Text processing by RjText processing by Rj
358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3
sumitbardhan
 
An introduction to functional programming with Swift
An introduction to functional programming with SwiftAn introduction to functional programming with Swift
An introduction to functional programming with Swift
Fatih Nayebi, Ph.D.
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7
sumitbardhan
 
Stl (standard template library)
Stl (standard template library)Stl (standard template library)
Stl (standard template library)
Hemant Jain
 
Java class 5
Java class 5Java class 5
Java class 5
Edureka!
 
XPath - A practical guide
XPath - A practical guideXPath - A practical guide
XPath - A practical guide
Tobias Schlitt
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
Kumar Gaurav
 
Text and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHPText and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHP
Kamal Acharya
 
OOP Principles
OOP PrinciplesOOP Principles
OOP Principles
Upender Upr
 
Javascript
JavascriptJavascript
Javascript
Sunil Thakur
 
Chapter 4 strings
Chapter 4 stringsChapter 4 strings
Chapter 4 strings
Chv Raghavendran
 

What's hot (20)

STL in C++
STL in C++STL in C++
STL in C++
 
Standard template library
Standard template libraryStandard template library
Standard template library
 
Stl Containers
Stl ContainersStl Containers
Stl Containers
 
How to choose best containers in STL (C++)
How to choose best containers in STL (C++)How to choose best containers in STL (C++)
How to choose best containers in STL (C++)
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
Standard template library
Standard template libraryStandard template library
Standard template library
 
Io streams
Io streamsIo streams
Io streams
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
 
Text processing by Rj
Text processing by RjText processing by Rj
Text processing by Rj
 
358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3
 
An introduction to functional programming with Swift
An introduction to functional programming with SwiftAn introduction to functional programming with Swift
An introduction to functional programming with Swift
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7
 
Stl (standard template library)
Stl (standard template library)Stl (standard template library)
Stl (standard template library)
 
Java class 5
Java class 5Java class 5
Java class 5
 
XPath - A practical guide
XPath - A practical guideXPath - A practical guide
XPath - A practical guide
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
Text and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHPText and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHP
 
OOP Principles
OOP PrinciplesOOP Principles
OOP Principles
 
Javascript
JavascriptJavascript
Javascript
 
Chapter 4 strings
Chapter 4 stringsChapter 4 strings
Chapter 4 strings
 

Similar to X path

Xpath
XpathXpath
03 x files
03 x files03 x files
03 x files
Baskarkncet
 
Xpath
XpathXpath
TAppWeb Training Material
TAppWeb Training MaterialTAppWeb Training Material
TAppWeb Training Material
Arvie Bernal
 
TAppWeb Training Material
TAppWeb Training MaterialTAppWeb Training Material
TAppWeb Training Material
Arvie Bernal
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xml
Kumar
 
TApp Documentation
TApp DocumentationTApp Documentation
TApp Documentation
Arvie Bernal
 
Querring xml with xpath
Querring xml with xpath Querring xml with xpath
Querring xml with xpath
Malintha Adikari
 
Day2 xslt x_path_xquery
Day2 xslt x_path_xqueryDay2 xslt x_path_xquery
Day2 xslt x_path_xquery
XAVIERCONSULTANTS
 
Xpath.pdf
Xpath.pdfXpath.pdf
Xpath.pdf
BalasundaramSr
 
X FILES
X FILESX FILES
Xpath.ppt
Xpath.pptXpath.ppt
Xpath.ppt
Prerak10
 
Xpath presentation
Xpath presentationXpath presentation
02_Xpath.pdf
02_Xpath.pdf02_Xpath.pdf
02_Xpath.pdf
Prerak10
 
Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)
Deutsche Post
 
XPATH_XSLT-1.pptx
XPATH_XSLT-1.pptxXPATH_XSLT-1.pptx
XPATH_XSLT-1.pptx
BalasundaramSr
 
Xml transformation language
Xml transformation languageXml transformation language
Xml transformation language
reshmavasudev
 
Learning XSLT
Learning XSLTLearning XSLT
Learning XSLT
Overdue Books LLC
 
Session 4
Session 4Session 4
Mule expression component
Mule expression componentMule expression component
Mule expression component
Karnam Karthik
 

Similar to X path (20)

Xpath
XpathXpath
Xpath
 
03 x files
03 x files03 x files
03 x files
 
Xpath
XpathXpath
Xpath
 
TAppWeb Training Material
TAppWeb Training MaterialTAppWeb Training Material
TAppWeb Training Material
 
TAppWeb Training Material
TAppWeb Training MaterialTAppWeb Training Material
TAppWeb Training Material
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xml
 
TApp Documentation
TApp DocumentationTApp Documentation
TApp Documentation
 
Querring xml with xpath
Querring xml with xpath Querring xml with xpath
Querring xml with xpath
 
Day2 xslt x_path_xquery
Day2 xslt x_path_xqueryDay2 xslt x_path_xquery
Day2 xslt x_path_xquery
 
Xpath.pdf
Xpath.pdfXpath.pdf
Xpath.pdf
 
X FILES
X FILESX FILES
X FILES
 
Xpath.ppt
Xpath.pptXpath.ppt
Xpath.ppt
 
Xpath presentation
Xpath presentationXpath presentation
Xpath presentation
 
02_Xpath.pdf
02_Xpath.pdf02_Xpath.pdf
02_Xpath.pdf
 
Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)Javascript Test Automation Workshop (21.08.2014)
Javascript Test Automation Workshop (21.08.2014)
 
XPATH_XSLT-1.pptx
XPATH_XSLT-1.pptxXPATH_XSLT-1.pptx
XPATH_XSLT-1.pptx
 
Xml transformation language
Xml transformation languageXml transformation language
Xml transformation language
 
Learning XSLT
Learning XSLTLearning XSLT
Learning XSLT
 
Session 4
Session 4Session 4
Session 4
 
Mule expression component
Mule expression componentMule expression component
Mule expression component
 

Recently uploaded

Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 

Recently uploaded (20)

Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 

X path

  • 1. going through… Xpath Introduction Xpath Nodes Xpath Syntax Xpath Axes Xpath Operators Xpath Examples Presented By : Sagar Guhe
  • 2. Xpath Introduction  XPath is a syntax for defining parts of an XML document  XPath uses path expressions to navigate in XML documents  XPath contains a library of standard functions  XPath is a major element in XSLT  XPath is a W3C recommendation
  • 3. Xpath Introduction XPath Path Expressions XPath uses path expressions to select nodes or node-sets in an XML document XPath Standard Functions XPath includes over 100 built-in functions. There are functions for string values, numeric values, date and time comparison, node and QName manipulation, sequence manipulation, Boolean values, and more. XPath is Used in XSLT XPath is a major element in the XSLT standard. Without XPath knowledge you will not be able to create XSLT documents. XPATH is a W3C Recommendation It was became W3C recommendation in 16 Nov 1999
  • 4. XPath Nodes  Nodes There are 7 types of Nodes in XPath: • Element • Attribute • Text • Namespace • Processing-instruction • Comment • Document nodes
  • 5. XPath Nodes  Nodes: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <!– Root Node Element--> <book> <!– Element Node--> <title lang="en">Harry Potter</title> <!-- lang=“en” attribute node--> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>  Atomic values  J K. Rowling  “en”
  • 6. XPath Nodes  Relationship of Nodes <book> <!– Parent node/ ancestor--> <title>Harry Potter</title> <!–Child/ Sibling/ descendant-> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
  • 7. XPath Syntax Selecting Nodes Expression Description nodename Selects all nodes with the name "nodename" / Selects from the root node // Selects nodes in the document from the current node that match the selection no matter where they are . Selects the current node .. Selects the parent of the current node @ Selects attributes
  • 8. XPath Syntax Example Path Expression Result bookstore Selects all nodes with the name "bookstore" /bookstore Selects the root element bookstoreNote: If the path starts with a slash ( / ) it always represents an absolute path to an element! bookstore/boo Selects all book elements that are children of k bookstore //book Selects all book elements no matter where they are in the document bookstore//bo Selects all book elements that are ok descendant of the bookstore element, no matter where they are under the bookstore element //@lang Selects all attributes that are named lang
  • 9. Predicates XPath Syntax  Predicates are used to find a specific node or a node that contains a specific value.  Predicates are always embedded in square brackets. Examples Path Expression Result /bookstore/book[1] Selects the first book element that is the child of the bookstore element.Note: IE5 and later has implemented that [0] should be the first node, but according to the W3C standard it should have been [1]!! /bookstore/book[last()] Selects the last book element that is the child of the bookstore element /bookstore/book[last()-1] Selects the last but one book element that is the child of the bookstore element /bookstore/book[position()<3] Selects the first two book elements that are children of the bookstore element
  • 10. Predicates XPath Syntax //title[@lang] Selects all the title elements that have an attribute named lang //title[@lang='eng'] Selects all the title elements that have an attribute named lang with a value of 'eng' /bookstore/book[price>35.00] Selects all the book elements of the bookstore element that have a price element with a value greater than 35.00 /bookstore/book[price>35.00]/title Selects all the title elements of the book elements of the bookstore element that have a price element with a value greater than 35.00
  • 11. XPath Syntax Selecting Unknown Nodes XPath wildcards can be used to select unknown XML elements. In the table below we have listed some path expressions and the result of the expressions: Wildcard Description * Matches any element node @* Matches any attribute node node() Matches any node of any kind Path Expression Result /bookstore/* Selects all the child nodes of the bookstore element //* Selects all elements in the document //title[@*] Selects all title elements which have any attribute
  • 12. XPath Syntax Selecting Several Paths By using the | operator in an XPath expression you can select several paths. In the table below we have listed some path expressions and the result of the expressions: Path Expression Result //book/title | //book/price Selects all the title AND price elements of all book elements //title | //price Selects all the title AND price elements in the document /bookstore/book/title | //price Selects all the title elements of the book element of the bookstore element AND all the price elements in the document
  • 13. XPath Axes An axis defines a node-set relative to the current node. AxisName Result ancestor Selects all ancestors (parent, grandparent, etc.) of the current node ancestor-or-self Selects all ancestors (parent, grandparent, etc.) of the current node and the current node itself attribute Selects all attributes of the current node child Selects all children of the current node descendant Selects all descendants (children, grandchildren, etc.) of the current node descendant-or-self Selects all descendants (children, grandchildren, etc.) of the current node and the current node itself
  • 14. XPath Axes following Selects everything in the document after the closing tag of the current node following-sibling Selects all siblings after the current node namespace Selects all namespace nodes of the current node parent Selects the parent of the current node preceding Selects all nodes that appear before the current node in the document, except ancestors, attribute nodes and namespace nodes preceding-sibling Selects all siblings before the current node self Selects the current node
  • 15. Examples XPath Axes Example Result child::book Selects all book nodes that are children of the current node attribute::lang Selects the lang attribute of the current node child::* Selects all element children of the current node attribute::* Selects all attributes of the current node child::text() Selects all text node children of the current node child::node() Selects all children of the current node descendant::book Selects all book descendants of the current node ancestor::book Selects all book ancestors of the current node ancestor-or-self::book Selects all book ancestors of the current node - and the current as well if it is a book node child::*/child::price Selects all price grandchildren of the current node
  • 16. XPath Operators Operator Description Example Return value | Computes two node-sets //book | //cd Returns a node-set with all book and cd elements + Addition 6+4 10 - Subtraction 6-4 2 * Multiplication 6*4 24 div Division 8 div 4 2 = Equal price=9.80 true if price is 9.80 false if price is 9.90 != Not equal price!=9.80 true if price is 9.90 false if price is 9.80 < Less than price<9.80 true if price is 9.00 false if price is 9.80
  • 17. XPath Operators <= Less than or equal to price<=9.80 true if price is 9.00 false if price is 9.90 > Greater than price>9.80 true if price is 9.90 false if price is 9.80 >= Greater than or equal to price>=9.80 true if price is 9.90 false if price is 9.70 or or price=9.80 or price=9.70 true if price is 9.80 false if price is 9.50 and and price>9.00 and price<9.90 true if price is 9.80 false if price is 8.50 mod Modulus (division remainder) 5 mod 2 1
  • 18. XPath Operators <= Less than or equal to price<=9.80 true if price is 9.00 false if price is 9.90 > Greater than price>9.80 true if price is 9.90 false if price is 9.80 >= Greater than or equal to price>=9.80 true if price is 9.90 false if price is 9.70 or or price=9.80 or price=9.70 true if price is 9.80 false if price is 9.50 and and price>9.00 and price<9.90 true if price is 9.80 false if price is 8.50 mod Modulus (division remainder) 5 mod 2 1