Extensible Markup Language(XML): Introduction Creating XML Documents XML style Sheet Hyperlinks in XML Document Object Model XML Query Language
XML Query Languages help in extracting and processing data stored in XML documents.
i) XML documents are structured hierarchically like a tree, where
elements are arranged as
parent–child nodes. XPath is a query language used to navigate
through this tree structure
and select specific parts (nodes) of the XML document.
Purpose
of XPath
• To locate elements, attributes, text, or parts of XML documents.
• Used heavily in:
o
XSLT transformations
o
Web APIs (such as SOAP)
o
XML-based data processing tools
o
Automation and testing tools (e.g., Selenium
Web Driver)
How
XPath Works
XPath uses path-like syntax, similar to file paths, to navigate
XML elements.
Example
XML
<Library>
<Book id="B101">
<Title>Data Structures</Title>
<Author>Ravi Kumar</Author>
<Price>500</Price>
</Book>
</Library>
Basic
XPath Syntax and Selectors
XPath
Expression Meaning / What it
Selects
/Library Selects
the root element <Library>
/Library/Book Selects
the <Book> element inside <Library>
//Book Selects
all Book elements in the entire document
/Library/Book/Title Selects
the <Title> element
//Book[@id='B101'] Selects
Book element with id attribute equals B101
//Price/text() Extracts
the text content inside <Price>
Node
Types XPath Can Select
•
Element nodes → <Book>
•
Attribute nodes → @id
•
Text nodes → text inside tags
•
Parent / child / sibling relationships
Advantages
of XPath
• Works with both simple and complex XML structures.
• Highly efficient for searching data in XML trees.
• Foundation for higher-level query tools like XQuery.
XQUERY
While XPath helps in navigation, XQuery helps in querying and
retrieving data, similar to
SQL for databases.
Purpose
of XQuery
• Extract data from XML documents.
• Perform filtering, sorting, grouping, and joining operations.
Used
in:
o Native XML Databases (e.g., BaseX, eXist-db)
o Enterprise Integration Systems
o Web Services
o Data Analytics Platforms
XQuery
vs SQL
Feature
SQL XQuery
Operates on Tables
(rows & columns) XML trees (nodes,
elements)
Data Structure Relational Hierarchical
Output Tabular data
XML, HTML, or text
FLWOR
Expression Structure (Core of XQuery)
FLWOR
→ FOR,
LET, WHERE, ORDER BY, RETURN
It resembles natural programming & SQL-like query processing.
Part
Meaning Purpose
FOR
Iterates
over a sequence of XML nodes Acts like
a loop
LET
Assigns
values to variables Useful for optimization
WHERE
Applies conditions / filters Similar
to SQL WHERE
ORDER
BY Sorts
the results Ascending / Descending
RETURN
Defines what output should be generated
Final structured result
Example
XQuery Using FLWOR
XML
Input
<Library>
<Book>
<Title>AI Foundations</Title>
<Author>Dr. Rao</Author>
<Price>750</Price>
</Book>
<Book>
<Title>Machine Learning</Title>
<Author>Prof. Anita</Author>
<Price>900</Price>
</Book>
</Library>
XQuery
for $b in /Library/Book
where $b/Price > 800
order by $b/Title
return
<ExpensiveBook>
<Name>{ $b/Title/text() }</Name>
<Cost>{ $b/Price/text() }</Cost>
</ExpensiveBook>
Output
<ExpensiveBook>
<Name>Machine Learning</Name>
<Cost>900</Cost>
</ExpensiveBook>
Where
XML Queries Are Used (Real World Applications)
Area Usage
Business Data Analytics Extracting structured information from
XML-based data warehouses.
Web
Services (SOAP/REST) Many
APIs return data in XML → XPath/XQuery helps parse it.
Database
Systems Querying
Native XML Databases and XML-enabled RDBMS like
Oracle
/ SQL Server.
Configuration
and Enterprise Many
enterprise software store config/settings in XML which Systems are queried using XPath/XQuery.
No comments:
Post a Comment