Introduction to XML

Shared by: HC120213055128
Categories
Tags
-
Stats
views:
2
posted:
2/12/2012
language:
pages:
22
Document Sample
scope of work template
							    Introduction to XML


CS348 Information System
                           Guest Lecture
                           Hazem Elmeleegy
Outline
 What is XML?
 Syntax of XML Document
 DTD (Document Type Definition)
 XML Schema
 XML Query Language
 XML Databases
 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.
                                  Element FNAME nested inside
         <AUTHOR id = 123>        element Author.
Element       <FNAME> JAMES</FNAME>
Author with    <LNAME> RUSSEL</LNAME>
Attr id </AUTHOR>

        <!- I am comment ->


      Attributes provide additional information about Elements.
        Values of the Attributes are set inside the Elements
      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>                <!DOCTYPE BOOKLIST[
<BOOK GENRE = “Science”   <!ELEMENT BOOKLIST(BOOK)*>
  FORMAT = “Hardcover”>      <!ELEMENT BOOK(AUTHOR)>
  <AUTHOR>                <!ELEMENT
     <FIRSTNAME>             AUTHOR(FIRSTNAME,LASTNAM
     RICHRD                  E)>
     </FIRSTNAME>         <!ELEMENT
   <LASTNAME> KARTER         FIRSTNAME(#PCDATA)>
     </LASTNAME>          <!ELEMENT>LASTNAME(#PCDATA)
   </AUTHOR>                 >
   </BOOK>                <!ATTLIST BOOK GENRE
   </BOOKS>                  (Science|Fiction)#REQUIRED>
                          <!ATTLIST BOOK FORMAT
 Xml Document And            (Paperback|Hardcover)
 Corresponding DTD           “PaperBack”>]>
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)
    XMLSchema


<Students>              <xs:schema>
<Student id=“p1”>       <xs:complexType name = “StudnetType”>
<Name>Allan</Name>      <xs:attribute name=“id” type=“xs:string” />
<Age>62</Age>           <xs:element name=“Name” type=“xs:string />
<Email>allan@abc.com    <xs:element name=“Age” type=“xs:integer” />
</Email>                <xs:element name=“Email” type=“xs:string” />
</Student>              </xs:complexType>
</Students>             <xs:element name=“Student”
                           type=“StudentType” />
XML Document and Schema </xs: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>jhn@xyz.com</Email>
</Student>
XPath: /Student[Name=“John”]/Email
Extracts: <Email> element with value
  “jhn@xyz.com”
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

						
Related docs
Other docs by HC120213055128
Engineering Graphics 167
Views: 0  |  Downloads: 0
Excel Assignment 9 FOOD compatibility
Views: 1  |  Downloads: 0
Body Language and Performance Psychology
Views: 10  |  Downloads: 2
Chapter 4
Views: 0  |  Downloads: 0
9 2011 Contestant Photo Requirements
Views: 0  |  Downloads: 0
REGULAR MEETING AUG 08
Views: 0  |  Downloads: 0
UE questionnaire
Views: 3  |  Downloads: 0
patel provisions chart
Views: 2  |  Downloads: 0