SlideShare a Scribd company logo
1 of 20
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

Standard template library
Standard template libraryStandard template library
Standard template libraryJancypriya M
 
Stl Containers
Stl ContainersStl Containers
Stl Containersppd1961
 
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 LibraryGauravPatil318
 
Standard template library
Standard template libraryStandard template library
Standard template librarySukriti Singh
 
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-3sumitbardhan
 
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 SwiftFatih Nayebi, Ph.D.
 
Stl (standard template library)
Stl (standard template library)Stl (standard template library)
Stl (standard template library)Hemant Jain
 
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-7sumitbardhan
 
Java class 5
Java class 5Java class 5
Java class 5Edureka!
 
XPath - A practical guide
XPath - A practical guideXPath - A practical guide
XPath - A practical guideTobias Schlitt
 
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 PHPKamal Acharya
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template LibraryKumar Gaurav
 

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
 
Stl (standard template library)
Stl (standard template library)Stl (standard template library)
Stl (standard template library)
 
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
 
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
 
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
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
OOP Principles
OOP PrinciplesOOP Principles
OOP Principles
 
Javascript
JavascriptJavascript
Javascript
 
Chapter 4 strings
Chapter 4 stringsChapter 4 strings
Chapter 4 strings
 

Viewers also liked

Viewers also liked (20)

Hacking_PPT
Hacking_PPT Hacking_PPT
Hacking_PPT
 
The Seer - By Orson Pratt
The Seer - By Orson PrattThe Seer - By Orson Pratt
The Seer - By Orson Pratt
 
Appcelerator Alloy MVC
Appcelerator Alloy MVCAppcelerator Alloy MVC
Appcelerator Alloy MVC
 
Load
LoadLoad
Load
 
Tell-n-sell April 30 to May 06
Tell-n-sell April 30 to May 06Tell-n-sell April 30 to May 06
Tell-n-sell April 30 to May 06
 
fra TELE-satellite-1107
fra TELE-satellite-1107fra TELE-satellite-1107
fra TELE-satellite-1107
 
Crisis or Opportunity
Crisis or OpportunityCrisis or Opportunity
Crisis or Opportunity
 
Skyworth
SkyworthSkyworth
Skyworth
 
What`s New in Java 8
What`s New in Java 8What`s New in Java 8
What`s New in Java 8
 
por TELE-satellite-1107
por TELE-satellite-1107por TELE-satellite-1107
por TELE-satellite-1107
 
MIT Article October 2006
MIT Article October 2006MIT Article October 2006
MIT Article October 2006
 
Port Android To Windows App
Port Android To Windows AppPort Android To Windows App
Port Android To Windows App
 
Dr.eduardo apresentaçao
Dr.eduardo apresentaçaoDr.eduardo apresentaçao
Dr.eduardo apresentaçao
 
R57shell
R57shellR57shell
R57shell
 
TSS intro slides general
TSS intro slides generalTSS intro slides general
TSS intro slides general
 
가상화와 보안 발표자료
가상화와 보안 발표자료가상화와 보안 발표자료
가상화와 보안 발표자료
 
Wordpress 3.5 -install-appserv
Wordpress 3.5 -install-appservWordpress 3.5 -install-appserv
Wordpress 3.5 -install-appserv
 
The Theme Of Scat
The Theme Of ScatThe Theme Of Scat
The Theme Of Scat
 
Teste
TesteTeste
Teste
 
Programming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & ExtensionProgramming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & Extension
 

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

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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