Building Oracle8i XML Applications with XML, XSLT, and XSQL Pages - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Building Oracle8i XML Applications with XML, XSLT, and XSQL Pages

Description:

Virtual XML Structures on Top of Tables. XML BFILE, CLOB and Column Search ... xml-stylesheet type='text/xsl' media='MSIE 5.0' href='flyHTML.xsl' ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 37
Provided by: steve1112
Category:

less

Transcript and Presenter's Notes

Title: Building Oracle8i XML Applications with XML, XSLT, and XSQL Pages


1
Building Oracle8i XML Applications with XML,
XSLT, and XSQL Pages
  • Steve Muench
  • Lead XML Evangelist
  • Oracle Corporation

2
Oracle XML Technologies
  • XML-Enabled Object Views
  • Virtual XML Structures on Top of Tables
  • XML BFILE, CLOB and Column Search
  • Search Docs Doc Fragments forNested Elements,
    Attributes SQL
  • Core XML Components (In Out of DB)
  • XML Parser and XSLT Processors
  • XML SQL Utility (SQL lt-gtXML )
  • XSQL Pages and XSQL Servlet
  • XML Class Generators
  • XML Schema Support Preview Imminent
  • Tools
  • Transviewer Beans

3
What are XSQL Pages?
  • Server-Side XML Templates
  • You already know how to create them
  • Declaratively Assemble XML"Datapages"
  • Database Queries Stored Procedures
  • Local or Over-the-Web XML Resources
  • Transform XML Datapages for Delivery
  • Makes SQL, XML, and XSLT Dead Easy
  • Leverages Oracle's XML Components
  • With Any Database Any Servlet Engine

4
Serving a List of Available Flights
  • lt?xml version"1.0"?gt
  • ltxsqlquery connection"db" xmlnsxsql"urnoracle
    -xsql"gt
  • SELECT Carrier,
  • FlightNumber,
  • Origin,
  • TO_CHAR(ExpectedTime,'HH24MI') AS Due
  • FROM FlightSchedule
  • WHERE TRUNC(ExpectedTime) TRUNC(SYSDATE)
  • AND Arrived 'N'
  • AND Destination '_at_City'
  • ORDER BY ExpectedTime
  • lt/xsqlquerygt

5
AvailableFlights.xsql?CityJFK
  • lt?xml version"1.0"?gt
  • ltxsqlquery connection"db" xmlnsxsql"urnoracle
    -xsql"gt
  • SELECT Carrier,
  • FlightNumber,
  • Origin,
  • TO_CHAR(ExpectedTime,'HH24MI') AS Due
  • FROM FlightSchedule
  • WHERE TRUNC(ExpectedTime) TRUNC(SYSDATE)
  • AND Arrived 'N'
  • AND Destination '_at_City'
  • ORDER BY ExpectedTime
  • lt/xsqlquerygt

6
AvailableFlights.xsql?CityJFK
HTTP Web Request
Web Server
Servlet Runner
XSQLServlet
AvailableFlights.xsql
7
Serving a Specific DTD Strucure
8
Take an Example of Output
  • ltflight-listgt
  • ltflight airline"BA" number"207"gt
  • ltarrivesgt1120lt/arrivesgt
  • lt/flightgt
  • lt/flight-listgt

9
Turn an Example Into Stylesheet
  • ltflight-list xmlnsxsl""xslversion"1.0" gt
  • ltxslfor-each select"ROWSET/ROW"gt
  • ltflight airline"CARRIER"
    number"FLIGHTNUMBER"gt
  • ltarrivesgtltxslvalue-of select"DUE"/gtlt/arriv
    esgt
  • lt/flightgt
  • lt/xslfor-eachgt
  • lt/flight-listgt

10
Associate Stylesheet with XSQL
  • ltflight-list xmlnsxsl""xslversion"1.0" gt
  • ltxslfor-each select"ROWSET/ROW"gt
  • ltflight airline"CARRIER"
    number"FLIGHTNUMBER"gt
  • ltarrivesgtltxslvalue-of select"DUE"/gtlt/arriv
    esgt
  • lt/flightgt
  • lt/xslfor-eachgt
  • lt/flight-listgt

lt?xml version"1.0"?gt lt?xml-stylesheet
type"text/xsl" href"flightlist.xsl"?gt ltxsqlquer
y connection"db" xmlnsxsql"urnoracle-xsql"gt
SELECT Carrier, FlightNumber,
11
"Morphs" the Raw Datapage
  • ltflight-list xmlnsxsl""xslversion"1.0" gt
  • ltxslfor-each select"ROWSET/ROW"gt
  • ltflight airline"CARRIER"
    number"FLIGHTNUMBER"gt
  • ltarrivesgtltxslvalue-of select"DUE"/gtlt/arriv
    esgt
  • lt/flightgt
  • lt/xslfor-eachgt
  • lt/flight-listgt

lt?xml version"1.0"?gt lt?xml-stylesheet
type"text/xsl" href"flightlist.xsl"?gt ltxsqlquer
y connection"db" xmlnsxsql"urnoracle-xsql"gt
SELECT Carrier, FlightNumber,
12
Into Valid, Dynamic XML
  • ltflight-list xmlnsxsl""xslversion"1.0" gt
  • ltxslfor-each select"ROWSET/ROW"gt
  • ltflight airline"CARRIER"
    number"FLIGHTNUMBER"gt
  • ltarrivesgtltxslvalue-of select"DUE"/gtlt/arriv
    esgt
  • lt/flightgt
  • lt/xslfor-eachgt
  • lt/flight-listgt

lt?xml version"1.0"?gt lt?xml-stylesheet
type"text/xsl" href"flightlist.xsl"?gt ltxsqlquer
y connection"db" xmlnsxsql"urnoracle-xsql"gt
SELECT Carrier, FlightNumber,
13
Use a Different Stylesheet
  • lttable border"0"gtlttrgt ltthgtFlightlt/thgt
    ltthgtArriveslt/thgtlt/trgtltxslfor-each
    select"ROWSET/ROW"gt lttrgtlttdgtlttablegtlttrgt
    lttdgtltimg align"absmiddle" src"images/CARRIER.g
    if"/gtlt/tdgt lttd width"180"gt ltxslvalue-of
    select"CARRIER"/gt ltxsltextgt lt/xsltextgt
    ltxslvalue-of select"FLIGHTNUMBER"/gt
    lt/tdgtlt/trgtlt/tablegt lt/tdgt lttd align"center"gt
    ltxslvalue-of select"DUE"/gt lt/tdgt
    lt/trgtlt/xslfor-eachgt
  • lt/tablegt

14
Same Datapage, New Look!
  • lttable border"0"gtlttrgt ltthgtFlightlt/thgt
    ltthgtArriveslt/thgtlt/trgtltxslfor-each
    select"ROWSET/ROW"gt lttrgtlttdgtlttablegtlttrgt
    lttdgtltimg align"absmiddle" src"images/CARRIER.g
    if"/gtlt/tdgt lttd width"180"gt ltxslvalue-of
    select"CARRIER"/gt ltxsltextgt lt/xsltextgt
    ltxslvalue-of select"FLIGHTNUMBER"/gt
    lt/tdgtlt/trgtlt/tablegt lt/tdgt lttd align"center"gt
    ltxslvalue-of select"DUE"/gt lt/tdgt
    lt/trgtlt/xslfor-eachgt
  • lt/tablegt

15
Assemble XML Data Transform
XSQL Page XSL Stylesheet
Site Categories
Web SiteContent
News Stories
Sidebar Items

Site Stylesheet
16
Server or Client XSLT
ClientXSLT
Web SiteContent
XML
HTML
17
Deliver HTML to Mozilla
18
Deliver HTML to Mozilla
19
Deliver XML to IE5 Client XSLT
20
Deliver XML to IE5 Client XSLT
21
User-Agent Specific Transforms
  • XSLT Stylehseet Based on User-Agent
  • Transform in the Server or the Client

lt?xml version"1.0"?gtlt?xml-stylesheet
type"text/xsl" media"MSIE 5.0"
href"flyHTML.xsl"?gtlt?xml-stylesheet
type"text/xsl" media"Motorola Voice"
href"flyVox.xsl"?gtlt?xml-stylesheet
type"text/xsl" media"UP.Browser"
href"flyWML.xsl"?gtlt?xml-stylesheet
type"text/xsl" media"HandHTTP"
href"flyPalmPilot.xsl"?gtlt?xml-stylesheet
type"text/xsl" href"flyHTMLdefault.xsl"?gtltflyFi
nderResult xmlnsxsql"urnoracle-xsql"
connection"fly" lang"english"gtltxsqlquery
tag-case"upper"gt SELECT carrier, code,
destination, expected FROM ALL_FIGHTS
WHERE lt/xsqlquerygtlt/flyFinderResultgt
22
The Power of a Simple Model
Web XML
DatabaseXML
SVG
WML
xml
HTML
VoxML
xml
23
One Engine, Multiple Clients
XSQLCommandLine
XSQLRequest
24
Built-in Handlers
  • Object/Relational Data
  • SQL Queries, Stored Procedures Functions
  • Including XML
  • From Any URL or Another XSQL Page
  • Inserting Data
  • Posted XML Documents HTML Forms
  • Working With Parameters
  • Page, URL, Session, Cookie Stylesheet
    Parameters

25
Pluggable Handler Architecture
  • Action Handlers
  • Carry Out User-Defined Actions
  • Produce XML Content for Your Datapage
  • Handler Implementations Can Access
  • HTTP Request Response
  • JDBC Connection
  • Aligned with XSL Extension Elements
  • By XSQL 1.0, XSQL and XSLT Extension Elements
    will be Unified

26
Works with Any Database
  • Oracle 8i 8.1.5, 8.1.6
  • Oracle 8i Lite
  • JDBC/ODBC Driver
  • MySQL
  • DB2
  • Informix
  • Sybase
  • Others

27
Works with Any Servlet Engine
  • Allaire JRun 2.3.3
  • Apache 1.3.9 JServ 1.0 / 1.1 / Tomcat 3.1
  • Caucho Resin 1.1
  • JSWDK 1.0.1 Web Server
  • NewAtlanta ServletExec 2.2 for IIS/PWS 4.0
  • Oracle Application Server 4.0.8.1
  • Oracle8i Lite Web-to-Go Server
  • Oracle8i 8.1.7 Beta "Aurora" Servlet Engine
  • Tomcat 3.1 Milestone 1

28
What Is Oracle-Specific?
  • Object/Relational Features
  • Object Views Give Logical, QueryableXML Views of
    Multiple Database Tables
  • Nested CURSOR() Queries for On-the-FlyTree-Data
    Shaping.
  • Intermedia XML Doc Frag Searching
  • Spielberg WITHIN director WITHIN movie
  • XML Insert
  • Presently Restricted to Oracle JDBC Driver

29
Oracle 8i Release 3 (8.1.7)
  • Servlet 2.2 Engine Inside the Database
  • JSP Support
  • XSQL Pages
  • Platform forVery Scalable"XML Over HTTP"Data
    Services

XSQL
JSP
Yours
"Aurora"Servlet Engine
JServer VM
30
OTN XML Support Forum
31
http//technet.oracle.com/tech/xml
32
http//technet.oracle.com/tech/xml
33
http//technet.oracle.com/tech/xml
34
XSQL Releases
  • Release 0.8 June 18th, 1999
  • Release 0.9.5 August 25th, 1999
  • Release 0.9.6.2 October 14th, 1999
  • Release 0.9.8.6 January 1st, 2000
  • Release 0.9.9.1 March 2000
  • Release 1.0 April 2000

35
Give Them All a Try
  • Oracle XSQL Pages
  • ltxsqlquerygt SQL lt/xsqlquerygt
  • Apache Cocoon SQL Processor
  • ltquerygt SQL lt/querygt
  • Microsoft SQL Server XML Tech Preview
  • ltsqlquerygt SQL lt/sqlquerygt

36
And Send Us Your Feedback
  • http//technet.oracle.com/tech/xml

Stay Tuned to Oracle Technet for Our XML Schema
Tech Previewin the next 1-2 weeks
Write a Comment
User Comments (0)
About PowerShow.com