XML stands for EXtensible Markup Language

NetajiGandi1 5 views 22 slides Aug 30, 2024
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

WT


Slide Content

Introduction to XML
CS348 Information System
Guest Lecture
Hazem
Elmeleegy

Outline
What is XML?
Syntax of XML Document
DTD (Document Type Definition)
XML Query Language
XML Databases
XML Schema
Oracle JDBC

Introduction to XML
XML stands for EXtensible Markup Language
XML was designed to describe data.
XML tags are not predefined unlike HTML
XML DTD and XML Schema define rules to describe data
XML example of semi structured data

Building Blocks of XML
Elements (Tags) are the primary components of XML
documents.
<AUTHOR id = 123>
<FNAME> JAMES</FNAME>
<LNAME> RUSSEL</LNAME>
</AUTHOR> <!- I am comment ->
Element FNAME nested inside
element Author.
Attributes provide additional information about Elements.
Values of the Attributes are set inside the Elements
Element
Author with
Attr id
Comments stats with <!- and end with ->

XML DTD
A DTD is a set of rules that allow us to specify
our own set of elements and attributes.
DTD is grammar to indicate what tags are
legal in XML documents. c
XML Document is valid if it has an attached DTD and
document is structured according to rules defined in DTD.

DTD Example
<BOOKLIST>
<BOOK GENRE = “Science”
FORMAT = “Hardcover”>
<AUTHOR>
<FIRSTNAME>
RICHRD
</FIRSTNAME>
<LASTNAME> KARTER
</LASTNAME>
</AUTHOR>
</BOOK>
</BOOKS>
<!DOCTYPE BOOKLIST[
<!ELEMENT BOOKLIST(BOOK)*> <!
ELEMENT BOOK(AUTHOR)>
<!ELEMENT
AUTHOR(FIRSTNAME,LASTNAME)>
<!ELEMENT FIRSTNAME(#PCDATA)>
<!ELEMENT>LASTNAME(#PCDATA)>
<!ATTLIST BOOK GENRE (Science|
Fiction)#REQUIRED>
<!ATTLIST BOOK FORMAT
(Paperback|Hardcover)
“PaperBack”>]>
Xml Document And
Corresponding DTD

XML Schema
Serves same purpose as database schema
Schemas are written in XML
Set of pre-defined simple types (such as string, integer)
Allows creation of user-defined complex
types

XML Schema

RDBMS Schema (s_id integer, s_name string, s_status string)
<Students>
<Student id=“p1”>
<Name>Allan</Name>
<Age>62</Age>
<Email>[email protected]
</Email>
</Student>
</Students>
XMLSchema

<xs:schema>
<xs:complexType name = “StudnetType”>
<xs:attribute name=“id” type=“xs:string” />
<xs:element name=“Name” type=“xs:string />
<xs:element name=“Age” type=“xs:integer” />
<xs:element name=“Email” type=“xs:string” />
</xs:complexType>
<xs:element name=“Student” type=“StudentType” />
</xs:schema>
XML Document and Schema

XML Query Languages
 Requirement
Same functionality as database query
languages (such as SQL) to process Web
data
 Advantages
 Query selective portions of the document (no
need to transport entire document)
 Smaller data size mean lesser
communication cost

XQuery
XQuery to XML is same as SQL to
RDBMS
 Most databases supports XQuery
 XQuery is built on XPath operators
(XPath is a language that defines path
expressions to locate document data)

XPath Example
<Student id=“s1”>
<Name>John</Name>
<Age>22</Age>
<Email>[email protected]</Email>
</Student>
XPath: /Student[Name=“John”]/Email
Extracts: <Email> element with value
[email protected]

Oracle and XML
XML Support in Oracle
XDK (XML Developer Kit)
XML Parser for PL/SQL
XPath
XSLT

Oracle and XML
XML documents are stored as XML Type ( data type
for XML ) in Oracle
Internally CLOB is used to store XML
To store XML in database create table with one
XMLType column
Each row will contain one of XML records from XML
document
Database Table: XML Document
Database Row : XML Record

Examples
<Patients>
<Patient id=“p1”>
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient>
<Patient id=“p2”>
<Name>Paul</Name>
<Address>
<Street>120 N. Salisbury</Street>
</Address>
</Patient>
</Patients>

Example
Create table prTable(patientRecord XMLType);
DECLARE
prXML CLOB;
BEGIN
-- Store Patient Record XML in the CLOB variable
prXML := '<Patient id=“p1">
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient>‘ ;
-- Now Insert this Patient Record XML into an XMLType column
INSERT INTO prTable (patientRecord) VALUES
(XMLTYPE(prXML));
END;

Example
TO PRINT PATIENT ID of ALL PATIENTS
SELECT
EXTRACT(p.patientRecord,
'/Patient/@id').getStringVal()
FROM prTable p;
USE XPATH

Oracle JDBC
JDBC an API used for database connectivity
Creates Portable Applications
Basic Steps to develop JDBC Application
Import JDBC classes (java.sql.*).
Load JDBC drivers
Connect and Interact with database
Disconnect from database

Oracle JDBC
DriverManager provides basic services to
manage set of JDBC drivers
Connection object sends queries to database
server after a connection is set up
JDBC provides following three classes for
sending SQL statements to server

Statement SQL statements without parameters

PreparedStatement SQL statements to be executed multiple times with different parameters

CallableStatement Used for stored procedures

Oracle JDBC
SQL query can be executed using any of the
objects.
(Statement,PreparedStatement,CallableStatement)
Syntax (Statement Object )
Public abstract ResultSet executeQuery(String sql) throws
SQLException
Syntax (PreparedStatement,CallableStatement Object )
Public abstract ResultSet executeQuery() throws SQLException
Method executes SQL statement that returns
ResultSet object (ResultSet maintains cursor
pointing to its current row of data. )

Oracle JDBC (Example)
Import java.sql.*;
Import java.io;
Class simple{
public static void main(String[] args) throws Exception{
Connection conn=null;
try{
String conStr = "jdbc:oracle:thin:@oracle.cs.purdue.edu:1521:orb";
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(conStr,”username”,”passwd");
Statement cursor = conn.createStatement(); // Connection Est.
ResultSet rset = stmt.executeQuery(“Select* from table_name”);
while(orset.next()){
System.out.println(“Printing column name ”+orest.getStringVal(1));
}
}Catch(ClassNotFoundException e){}
cursor.close();
conn.close();
}
}

References
[1] Database Management Systems by Ramakrishnan and Gehrke

Thank You
Tags