embracing the value of xml in institutional research jim few center for institutional effectiveness...
TRANSCRIPT
Embracing the Value of XML in Embracing the Value of XML in Institutional ResearchInstitutional Research
Jim Few
Center for Institutional EffectivenessKennesaw State University
http://ie.kennesaw.edu
Association for Institutional Research 2005 Forum San Diego, CA
Jim Few
Center for Institutional EffectivenessKennesaw State University
http://ie.kennesaw.edu
Association for Institutional Research 2005 Forum San Diego, CA
What is XML?
Why should you care?
What should you know?
How can you use XML?
What is XML?
Why should you care?
What should you know?
How can you use XML?
AgendaAgenda
W3C: http://www.w3schools.com/xml/xml_whatis.asp
What is XML?What is XML?
The eXtensible Markup Language (XML) is a non-proprietary 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.
The eXtensible Markup Language (XML) is a non-proprietary 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.
What XML is NotWhat XML is Not
A replacement for HTML
A replacement for relational databases
A programming language (e.g. Java, C++, VB)
Terse
A panacea
A replacement for HTML
A replacement for relational databases
A programming language (e.g. Java, C++, VB)
Terse
A panacea
Text File FormatText 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
ID Lname Mname Fname Gender
83492 Clark F Betty F
89430 Bhatt Soham M
94032 Jones T John M
48392 Klein R Kim F
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
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
Why Should You Care?Why Should You Care?
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
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
What Should You Know?What Should You Know?
W3C: http://www.w3schools.com/xml/xml_syntax.asp
Microsoft
IBM
Oracle
SAS
Adobe
SAP
Microsoft
IBM
Oracle
SAS
Adobe
SAP
Who Supports XML?Who Supports XML?
Sun Microsystems
BEA
Business Objects
W3C
Computer Associates
PeopleSoft
Sun Microsystems
BEA
Business Objects
W3C
Computer Associates
PeopleSoft
Anyone who is a player in the computing worldAnyone who is a player in the computing world
XML Facilitates Data SharingXML Facilitates Data Sharing
OracleMS Word
CrystalMS Excel
SQLServer
DreamweaverMS
Access
DB2
XML
Text Versus XMLText Versus XML
Student Record
Nick Roberts
0001462395
143 Main St
Clemson, SC
29634
26
3.4
3.8
Student Record
Nick Roberts
0001462395
143 Main St
Clemson, SC
29634
26
3.4
3.8
<Student>
<LName>Roberts</LName>
<FName>Nick</FName>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Clemson</City>
<State>SC</State>
<ZipCode>29634</ZipCode>
<Age>26</Age>
<GPACumulative>3.4</GPACumulative>
<GPATerm200508>3.8</GPATerm200508>
</Student>
<Student>
<LName>Roberts</LName>
<FName>Nick</FName>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Clemson</City>
<State>SC</State>
<ZipCode>29634</ZipCode>
<Age>26</Age>
<GPACumulative>3.4</GPACumulative>
<GPATerm200508>3.8</GPATerm200508>
</Student>
HTML Versus XMLHTML Versus XML
<b>Student Record</b>
<br>
<br>
Nick Roberts<br>
0001462395<br>
143 Main St<br>
Clemson, SC <br>
29634<br>
26
<b>Student Record</b>
<br>
<br>
Nick Roberts<br>
0001462395<br>
143 Main St<br>
Clemson, SC <br>
29634<br>
26
<Student>
<LName>Roberts</LName>
<FName>Nick</FName>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Clemson</City>
<State>SC</State>
<ZipCode>29634</ZipCode>
<Age>26</Age>
</Student>
<Student>
<LName>Roberts</LName>
<FName>Nick</FName>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Clemson</City>
<State>SC</State>
<ZipCode>29634</ZipCode>
<Age>26</Age>
</Student>
What is XML Schema?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
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?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.).
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
What is XSL?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)
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: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>
<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>
XSL ExampleXSL Example
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
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
How Can You Use XML?How Can You Use XML?
XMLDocument
XML WorkflowsXML Workflows
Database
SchemaValidation
StylesheetTransformation
XMLDocument
PrintDocument
WebBrowser
DatabaseXMLApplication
XMLDocument
XML Workflow ExampleXML Workflow Example
Database
ASP.NET
XSLStylesheet
WebBrowser
XMLGenerator
Questions?
Comments?
Thank You
Center for Institutional EffectivenessKennesaw State University
http://ie.kennesaw.edu
Questions?
Comments?
Thank You
Center for Institutional EffectivenessKennesaw State University
http://ie.kennesaw.edu
The EndThe End
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.