AIR 2004 Presentation - Kennesaw State University
Download
Report
Transcript AIR 2004 Presentation - Kennesaw State University
Embracing the Value of XML in
Institutional Research
Jim Few
Center for Institutional Effectiveness
Kennesaw State University
http://ie.kennesaw.edu
Association for Institutional Research 2005 Forum
San Diego, CA
Agenda
What is XML?
Why should you care?
What should you know?
How can you use XML?
What is XML?
The eXtensible Markup Language (XML) is a nonproprietary standard that provides a format for
describing structured data.
XML was designed to describe, store, carry, and
exchange data in a unified manner.
XML provides the ability to liberate data from
proprietary data silos.
XML separates data from presentation.
W3C: http://www.w3schools.com/xml/xml_whatis.asp
What XML is Not
A replacement for HTML
A replacement for relational databases
A programming language (e.g. Java, C++, VB)
Terse
A panacea
Text File Format
ID
Lname
Mname
Fname
Gender
83492
Clark
F
Betty
F
89430
Bhatt
Soham
M
94032
Jones
T
John
M
48392
Klein
R
Kim
F
XML Format
Why Should You Care?
Standard (Non-proprietary)
Extensible
Flexible
Easy to share
Web-friendly
Separates data from presentation
Far richer than flat text files
Makes the structure of the document trivial, leaving
the implementation and dialect up to you
What Should You Know?
XML syntax is strict
XML documents provide a self-describing syntax
All XML elements must have a closing tag
XML tags are case sensitive
All XML elements must be properly nested
All XML documents must have a root element
W3C: http://www.w3schools.com/xml/xml_syntax.asp
Who Supports XML?
Microsoft
IBM
Oracle
Sun Microsystems
BEA
SAS
Adobe
Business Objects
W3C
Computer Associates
SAP
PeopleSoft
Anyone who is a player in the computing world
Data Silos
Oracle
MS Excel
PDF
Crystal
MS Word
MS
Access
HTML
XML Facilitates Data Sharing
Oracle
MS Excel
SQL
Server
MS Word
DB2
XML
Dreamweaver
Crystal
MS
Access
Text Versus XML
Student Record
<Student>
<LName>Roberts</LName>
Nick Roberts
<FName>Nick</FName>
0001462395
<ID>0001462395</ID>
143 Main St
<Street>143 Main St</Street>
Clemson, SC
<City>Clemson</City>
29634
<State>SC</State>
26
<ZipCode>29634</ZipCode>
3.4
<Age>26</Age>
3.8
<GPACumulative>3.4</GPACumulative>
<GPATerm200508>3.8</GPATerm200508>
</Student>
HTML Versus XML
<b>Student Record</b>
<Student>
<br>
<LName>Roberts</LName>
<br>
<FName>Nick</FName>
Nick Roberts<br>
<ID>0001462395</ID>
0001462395<br>
<Street>143 Main St</Street>
143 Main St<br>
<City>Clemson</City>
Clemson, SC <br>
<State>SC</State>
29634<br>
<ZipCode>29634</ZipCode>
26
<Age>26</Age>
</Student>
What is XML Schema?
An XML schema defines:
Elements that can appear in a document
Attributes that can appear in a document
Which elements are child elements
The order of child elements
The number of child elements
Whether an element can be null or must include data
Data types for elements and attributes
Default and fixed values for elements and attributes
W3C: http://www.w3schools.com/schema/schema_why.asp
So, What is XML Schema?
A schema describes the structure of an XML
document using XML
An XML schema manages the expectations of those
sharing an XML document
A schema enforces business constraints and
ensures data validation
For example, we can create a standard definition
for social security number (data type is string,
format=###-##-####, required field, etc.).
W3C: http://www.w3schools.com/schema/schema_intro.asp
XML Schema Example
What is XSL?
XSL stands for eXtensible Stylesheet Language
Think of XSL as a set of languages that can:
Transform XML into XHTML
Filter and sort XML data
Format XML data based on the data value
(e.g. displaying negative numbers in red)
Output XML data to different media
(e.g. web browsers, screens, print, or voice)
W3C: http://www.w3schools.com/xsl/xsl_languages.asp
XSL Example
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<strong>Student Record</strong>
<br />
<br />
<xsl:value-of select="Student/FName" />
<xsl:value-of select="Student/LName" />
<br />
<xsl:value-of select="Student/Street" />
<br />
<xsl:value-of select="Student/City" />,
<xsl:value-of select="Student/State" />
<xsl:value-of select="Student/ZipCode" />
<br />
<xsl:value-of select="Student/Age" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
How Can You Use XML?
Share data across disparate applications, platforms
and networks
Abstract periodic data structure changes
Single data source satisfies multiple uses
Aggregate data from multiple sources into one file
Render data from complex queries without latency
Snapshot/Census data captures
Shift database hit to off-peak times
Manage security concerns
Impress those reading your resume
XML Workflows
Database
XML
Document
Schema
Validation
Stylesheet
Transformation
XML
Application
Database
XML
Document
Print
Document
Web
Browser
XML Workflow Example
XML
Generator
XML
Document
Database
ASP.NET
XSL
Stylesheet
Web
Browser
Multiple Data Sources
Oracle
DB2
XML
SQL
Server
MS
Access
The End
Questions?
Comments?
Thank You
[email protected]
Center for Institutional Effectiveness
Kennesaw State University
http://ie.kennesaw.edu
Thanks to Nick Roberts for being a dear friend, professional colleague, and valuable contributor to this presentation. Thanks to Randy Hinds for the
use of his PowerPoint graphics.