Você está na página 1de 34

XML for Dummies

(and managers)

Mark Pascall
Technical Architect
Overview
What is XML?
Extensible Markup
Language
Many pieces in the XML
Xlink XPointer
puzzle HTM
L
Very fast moving XSLT XML XML
Schem
First – back to basics…. a
XQuery Name
SOA
P 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. Single, unique root
element
<?xml version=“1.0”?>
2. Matching open/close
tags <company id=“4859”>
<name>3Months.com</name>
3. Consistent capitalisation
<type>Web Development</type>
4. Correctly nested <address>
elements (no <street>Wakefield st</street>
overlapping elements) <city>Wellington</city>
5. Attribute values enclosed <country>New Zealand</country>
in quotes </address>
6. No repeating attributes in </company>
an element
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,
155,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

XSLT Processor HTML


XML
document

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
HTML
(Internet)

Word DocBook
(using Styles) XML eBook

Word is
authoritative
source 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 Organisation B Organisation C
Website Website Website

XML HTML XML


document document document

HTML
document
Demo

Você também pode gostar