demystifying the extensible markup language nick roberts & jim few
TRANSCRIPT
Demystifying the eXtensible Demystifying the eXtensible Markup LanguageMarkup Language
Nick Roberts & Jim FewNick Roberts & Jim Few
http://ir.kennesaw.eduhttp://ir.kennesaw.edu
What is XML?
Why should I care?
How can I use XML?
What is XML?
Why should I care?
How can I 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 markup language that provides a format for describing structured data.
XML was designed to describe, store, carry, and exchange data.
XML tags are not predefined like HTML. You must define your own tags.
XML uses an XML schema to describe the data.
XML can be transformed into other formats with XSLT.
The eXtensible Markup Language (XML) is a markup language that provides a format for describing structured data.
XML was designed to describe, store, carry, and exchange data.
XML tags are not predefined like HTML. You must define your own tags.
XML uses an XML schema to describe the data.
XML can be transformed into other formats with XSLT.
What XML is NotWhat XML is Not
Something to be afraid of
A replacement for HTML
A replacement for relational databases
A programming language like Java, C++, VB
A forgiving syntax
A silver bullet
Something to be afraid of
A replacement for HTML
A replacement for relational databases
A programming language like Java, C++, VB
A forgiving syntax
A silver bullet
Text File FormatText File Format
ID Lname Fname GenderEthnicity
83492 Clark Betty F W
89430 Bhatt Soham M A
94032 Jones Jim M W
48392 Klein Kim F B
ID Lname Fname GenderEthnicity
83492 Clark Betty F W
89430 Bhatt Soham M A
94032 Jones Jim M W
48392 Klein Kim F B
XML FormatXML Format
Standard (Non-proprietary)
Extensible
Flexible
Easy to share
Web-friendly
Separates content from presentation
Richer than flat text files
It will be everywhere
Standard (Non-proprietary)
Extensible
Flexible
Easy to share
Web-friendly
Separates content from presentation
Richer than flat text files
It will be everywhere
Why should I care?Why should I care?
XML documents use 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 documents use 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 SyntaxXML Syntax
W3C: http://www.w3schools.com/xml/xml_syntax.asp
Microsoft
IBM
Oracle
SAS
SPSS
Adobe
SAP
Microsoft
IBM
Oracle
SAS
SPSS
Adobe
SAP
Who supports XML?Who supports XML?
Sun Microsystems
BEA
Business Objects
Novell
W3C
Computer Associates
PeopleSoft
Sun Microsystems
BEA
Business Objects
Novell
W3C
Computer Associates
PeopleSoft
Anyone who is a player in the computing worldAnyone who is a player in the computing world
Data IslandsData Islands
Oracle
MS Excel
MSAccess
HTML
MS Word
Crystal
XML Data SharingXML Data Sharing
OracleMS Word
CrystalMS Excel
SQLServer
DreamweaverMS
Access
DB2
XML
Text Versus XMLText Versus XML
Student Record
Nick Roberts
0001462395
143 Main St
Paradise, CA
90210
24
3.4
3.8
Student Record
Nick Roberts
0001462395
143 Main St
Paradise, CA
90210
24
3.4
3.8
<Student>
<Last-Name>Roberts</Last-Name>
<First-Name>Nick</First-Name>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Paradise</City>
<State>CA</State>
<Zip-Code>90210</Zip-Code>
<Age>24</Age>
<GPA-Cumulative>3.4</GPA-Cumulative>
<GPA-Term>3.8</GPA-Term>
</Student>
<Student>
<Last-Name>Roberts</Last-Name>
<First-Name>Nick</First-Name>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Paradise</City>
<State>CA</State>
<Zip-Code>90210</Zip-Code>
<Age>24</Age>
<GPA-Cumulative>3.4</GPA-Cumulative>
<GPA-Term>3.8</GPA-Term>
</Student>
HTML Versus XMLHTML Versus XML
<b>Student Record</b>
<br>
<br>
Nick Roberts<br>
0001462395<br>
143 Main St<br>
Paradise, CA<br>
90210<br>
24
<b>Student Record</b>
<br>
<br>
Nick Roberts<br>
0001462395<br>
143 Main St<br>
Paradise, CA<br>
90210<br>
24
<Student>
<Last-Name>Roberts</Last-Name>
<First-Name>Nick</First-Name>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Paradise</City>
<State>CA</State>
<Zip-Code>90210</Zip-Code>
<Age>24</Age>
</Student>
<Student>
<Last-Name>Roberts</Last-Name>
<First-Name>Nick</First-Name>
<ID>0001462395</ID>
<Street>143 Main St</Street>
<City>Paradise</City>
<State>CA</State>
<Zip-Code>90210</Zip-Code>
<Age>24</Age>
</Student>
What is XML Schema?What is XML Schema?
An XML schema describes the structure of an XML document
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 is empty or can include text
Data types for elements and attributes
Default and fixed values for elements and attributes
An XML schema describes the structure of an XML document
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 is empty or can include text
Data types for elements and attributes
Default and fixed values for elements and attributesW3C: http://www.w3schools.com/schema/schema_why.asp
So, What is XML Schema?So, What is XML Schema?
An XML schema manages the expectations of those sharing an XML document
The sender can describe the data in a way that the receiver can understand
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.).
An XML schema manages the expectations of those sharing an XML document
The sender can describe the data in a way that the receiver can understand
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
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:od="urn:schemas-microsoft-com:officedata">
<xsd:element name="ID" minOccurs="1" od:jetType="text“ od:sqlSType="nvarchar" od:nonNullable="yes"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="9" /> </xsd:restriction> </xsd:simpleType> </xsd:element></xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:od="urn:schemas-microsoft-com:officedata">
<xsd:element name="ID" minOccurs="1" od:jetType="text“ od:sqlSType="nvarchar" od:nonNullable="yes"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="9" /> </xsd:restriction> </xsd:simpleType> </xsd:element></xs:schema>
XML Schema ExampleXML Schema Example
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
Define parts of an XML document
Format XML data based on the data value, like displaying negative numbers in red
Output XML data to different media, like web browsers, screens, paper, 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
Define parts of an XML document
Format XML data based on the data value, like displaying negative numbers in red
Output XML data to different media, like web browsers, screens, paper, 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/First-Name" /> <xsl:value-of select="Student/Last-Name" /> <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/Zip-Code" /> <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/First-Name" /> <xsl:value-of select="Student/Last-Name" /> <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/Zip-Code" /> <br /> <xsl:value-of select="Student/Age" /> </body> </html> </xsl:template></xsl:stylesheet>
XSL ExampleXSL Example
XMLDocument
XML WorkflowsXML Workflows
DatabaseText or
XML Editor
SchemaValidation
StylesheetTransformation
XMLDocument
PrintDocument
WebBrowser
DatabaseXMLApplication
XMLDocument
XML Workflow ExampleXML Workflow Example
Database
ASP.NET
XSLStylesheet
WebBrowser
Questions?Questions?
Comments?Comments?
Angry Outbursts?Angry Outbursts?
The EndThe End
http://ir.kennesaw.eduhttp://ir.kennesaw.edu