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…. XML Schem a SOA P Name space XML XSLT XQuery HTM L XPointer Xlink
Web Clients (Browser) Web Server How the Internet works…. Get me that text file OK here it is
Hypertext Mark-up Language Here is the title Here is the title This is a piece of Text This is a piece of Text 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
FrenchEnglishGerman….. 1.Use letters of alphabet. 2.Spaces between words. 3.Read from left to write. ….. Meta Language
SVGWMLMathML….. 1.Tags must not overlap 2.Tags case-sensitive 3.Must have root tag …… XML Specification
The XML Rules…. 1. Single, unique root element 2. Matching open/close tags 3. Consistent capitalisation 4. Correctly nested elements (no overlapping elements) 5. Attribute values enclosed in quotes 6. No repeating attributes in an element 3Months.com Web Development Wakefield st Wellington New Zealand 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 TCP/IP HTTP XML
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/> x x x x 4 4 </apply>
Synchronized Multimedia Integration Language (SMIL) This appears for one second and goes away This appears for one second and goes away This appears after one second, remains visible for one second and goes away This appears after one second, remains visible for one second and goes away This appears after two seconds, remains visible for one second and goes away This appears after two seconds, remains visible for one second and goes away </DIV>
Vector Markup Language <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”/> x e”/></v:shape>
Wireless Markup Language <wml> This is the first card. This is the first card. This is the second card. This is the second card. </card></wml>
Hypertext Markup Language (HTML) The Title The Title This is a piece of HTML This is a piece of HTML 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 Studend Loan Problems 20/7/01 Bla Bla Bla
Introducing XSL-T Extensible Stylesheet Language Standard ratified this year by W3C Way of transforming an XML document into another document
Transformation XML document XSLT document XSLT Processor Text 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 ( 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
Word (using Styles) HTML(Internet) Anything you want!! eBook DocBookXML XSL-T for convertion Word is authoritative source
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?
XML document Organisation A Website Organisation B Website HTML document Organisation C Website HTML document XML document
Demo