XML for Dummies
(and managers)
Mark Pascall
Technical Architect
Overview
What is XML?
Extensible Markup
Language
Many pieces in the XML
puzzle
Very fast moving
First – back to basics….
Xlink
XSLT
XQuery
XPointer
HTM
L
XML
SOA
P
XML
Schem
a
Name
space
How the Internet works….
Get me that text file
OK here it is
Web Clients
(Browser)
Web Server
Hypertext Mark-up Language
<h1>Here is the title</h1>
<p>This is a piece of <b>Text</b> </p>
A formatting language
Browser knows how to interpret the tags.
What is Extensible Markup
Language?
NOT a markup language
Meta-markup Language
Set of very simple rules
XML provides a uniform method for
describing and exchanging structured data
Describes structure and semantics, not
formatting
Meta Language
1. Use letters of alphabet.
2. Spaces between words.
3. Read from left to write.
…..
French
English
German
…..
XML Specification
1. Tags must not overlap
2. Tags case-sensitive
3. Must have root tag
……
SVG
WML
MathML
…..
The XML Rules….
1.
2.
3.
4.
5.
6.
Single, unique root
element
Matching open/close
tags
Consistent
capitalisation
Correctly nested
elements (no
overlapping elements)
Attribute values
enclosed in quotes
No repeating attributes
in an element
<?xml version=“1.0”?>
<company id=“4859”>
<name>3Months.com</name>
<type>Web Development</type>
<address>
<street>Wakefield st</street>
<city>Wellington</city>
<country>New Zealand</country>
</address>
</company>
Well Formed
History of XML
Standard Generalised Markup Language
Been around since early 90’s
XML is a sub-set of SGML (SGML-lite)
XML has smaller and simpler syntax
SGML’s development provides the
foundation for XML
XML is therefore not “bleeding edge”
Why XML is so powerful
Provides international, vendor
independent standard for describing
information
Any information – structured or
unstructured
XML
HTTP
TCP/IP
XML Markup
languages/vocabularies
Remember XML is a meta-language
Anybody can create their own language
Why would you want to?
Each language designed for a specific
purpose….
Mathematical Markup Language
(MathML)
x2 + 4x + 4 =0
<apply><plus/>
<apply><power/>
<ci>x</ci>
<cn>2</cn>
</apply>
<apply> <times/>
<cn>4</cn>
<ci>x</ci>
</apply>
<cn>4</cn>
</apply>
Synchronized Multimedia
Integration Language (SMIL)
<DIV CLASS=“time” t:timeline=“seq”>
<P class=“time” t:dur=“1”>
This appears for one second and goes away
</P>
<P class=“time” t:dur=“1”>
This appears after one second, remains visible for one second and
goes away
</P>
<P class=“time” t:dur=“1”>
This appears after two seconds, remains visible for one second and
goes away
</P>
</DIV>
Vector Markup Language
<v:shape style=‘top: 0; left: 0; width: 250; height: 250’
stroke=“true” strokecolor=“red” strokeweight=“2”
fill=“true” fillcolor=“green” coordorigin=“0 0”
coordsize=“175 175”>
<v:path v=“m 8,65 l
72,65,92,11,112,65,174,65,122,100,142,155,92,121,42,1
55,60,100
x e”/>
</v:shape>
Wireless Markup Language
<wml>
<!-- root element -->
<card id="card1" title="Example 1">
<p> <!-- a card can only contain P blocks or DO blocks -->
<do type="accept" label="go to card 2">
<go href="#card2"/></do> This is the first card. </p>
</card> <card id="card2" title="Example 1">
<p> This is the second card. </p>
</card>
</wml>
Hypertext Markup Language (HTML)
<h1>The Title</h1>
<p>This is a piece of <b>HTML </b> </p>
Or is it??
Next version of HTML = XHTML
XML Schemas and DTDs
XML is about communication
Need to speak the same language
Schemas/DTDs describe the vocabulary of
the language
i.e. what tags are used and how they can
be organised
Schemas will replace DTDs
An Example Schema
<?xml version="1.0" encoding="UTF-8"?>
<PressRelease>
<Title>Studend Loan Problems</Title>
<Date>20/7/01</Date>
<Content>Bla Bla Bla</Content>
</PressRelease>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:element name="PressRelease">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Title" type="xsd:string"/>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Content" type="xsd:string"/>
<xsd:element name="Author" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Introducing XSL-T
Extensible Stylesheet Language
Standard ratified this year by W3C
Way of transforming an XML document
into another document
Transformation
XSLT
document
Text
XML
document
XSLT Processor
HTML
XML
Summary
The XML Specification = Meta-language for
describing XML Mark-up languages
XML Schemas (and DTD’s) describe the
structure of a particular XML Mark-up
language
XSL-T documents transform XML document
into another format (HTML, XML etc)
XML in Action – a case study
Agenda
Case study background
Choosing a DTD/Schema
Creating XML – the options
Storing XML – the options
Presenting XML – the options
Solution Benefits
Demo
Case study background
October 2001 – won contract to redevelop E-government
website (www.e-government.govt.nz)
Business requirements
– Usual stuff (accessible, usable etc)
– Guidelines compliant (squeaky clean)
“Content must be made available in a standard HTML format.
Where information is provided in a proprietary format an
alternative HTML version must also be made available.”
Can’t just put it up as a PDF anymore
– Simple publishing process
– Future-proofed
Constraints
– Limited budget
– Tight timeframe
Traditional options
Static site
– Did not give simple publishing process for
“unskilled” people
Content Management System
– Store information in RDBMS
– Not good for “document centric” applications
– Cost, timeframe, simple workflow
requirements
The challenge
– To create a system that allows non-technical
authors to publish to guidelines compliant
HTML (and eventually other formats)
The solution
– XML
Choosing a DTD/Schema
Make up your own
Don’t reinvent the wheel!
Xml.org
We selected a subset of DocBook
– Could handle all the information we needed to
store
– Supported by a growing number of products
NZETC uses TEI
Creating XML – the Options
Use an XML editor
– E.g. XML Spy, Xmetal, Framemaker etc
– Allow you to create a document that conforms
to a specified DTD/Schema
– Problem: everybody potentially an author
Convert Word documents to XML
– Styles
XSL-T for
convertion
Word
(using Styles)
Word is
authoritative
source
DocBook
XML
HTML
(Internet)
eBook
Anything you want!!
Xcon Demo
Storing XML – the Options
Relational database
Native XML Repository
– E.g. Excelon, Tamino, Ipedo, Xindice
– First generation products
– At the time too immature/expensive
On the file system
Presenting XML – the Options
Publishing to humans
Need to “transform” XML to a format appropriate
for humans
Physical print – out of scope
HTML obvious choice
XSL-T to transform XML to HTML
Not the only way to present to humans
– SMIL, SVG, MathML etc
– Audience must have software
What about publishing “Raw” XML?
Organisation A
Website
XML
document
Organisation B
Website
HTML
document
HTML
document
Organisation C
Website
XML
document
Demo
Descargar

XML in real life - New Zealand Electronic Text Centre