Adopting XML: Tomorrow's Web Weft Technology Ltd
<?XML!> [presentation as slides]

Adopting XML: Tomorrow's Web

Author and presenter: Simon Brooke, Weft Technology Ltd.


Course Outline:

What we're going to do today


A brief chautauqua on language

Words

We can recognise words as belonging to a language because we know them... (sometimes, we can recognise words as belonging to a language even when we don't know them, because they sound right).


Sentences


Language


Words

Although language families have rules about what can be in a word and what can't, it's much harder to tell whether a word is valid or not, unless we know which language we're looking at.


Sentences


Meta-Language [1]


Meta-Language [2]


HTML [1]


HTML [2]


Well Formedness


What is XML


Key Features


Visual Appearance and Style Sheets [1]

If people are interested, you can open the style sheet for this presentation, slideshow.css, in a text editor.


What's happening with XSL [1]


What's happening with XSL [2]


What's happening with XSL [3]


What's happening with XSL [4]


Differences from HTML


Extensible: what does this mean for you?


Extensible: a simple example [1]

<?xml version="1.0"?>
<!DOCTYPE meeting PUBLIC "-//WEFT//DTD MEETING 0.1//EN" "meeting.dtd">
<meeting id="June Board Meeting">
  <venue>
    28 Forth Street, Edinburgh
  </venue>
  <invitees>
    <attendee attendance="required" meeting-role="convenor">
      <name>
	Simon Brooke
      </name>
      <position>
	Technical Director
      </position>
    </attendee>
    <attendee attendance="required">
      <name>Angela Stormont</name>
      <position>
	Communications Director
      </position>
    </attendee> 
  </invitees>
</meeting>
    

Extensible: a simple example [2]


Strictly parsed: what does this mean for you? [1]

Documents which are not well-formed will not be rendered by an XML browser.

At all.


Strictly parsed: what does this mean for you? [2]


Differences from SGML


Reality check


Where is this process at?


Will this really happen?


Will you have to change what you do? [1]


Will you have to change what you do? [2]


Status of XML


The World Wide Web Consortium ('W3C') [1]


The World Wide Web Consortium ('W3C') [2]


Emerging XML based standards

SMIL: Synchronised Multimedia Integration Language A set of XML extensions to handle embedded multimedia.

PICS: Platform for Internet Content Selection A means of labelling the content of documents based on criteria of taste - mainly motivated by people who want to protect children from sexually explicit material.

RDF: Resource Description Framework A standard for structuring embedded metadata - making it easier for programs to understand documents.


Some other proposed XML-based standards

This slide is included simply to give some feel of the scale of the XML project...


Netscape Communications Corporation


Microsoft Inc


Other major players:

IBM

Have a collection of XML tools available for free download, including an XML Browser (written in Java) - but I can't make it work!

IBM are also putting a great deal of effort into XML tools and DTDs for electronic commerce. Many of the tools are available for free download.

Supporters of oasis' XML.org standards definition community.

Oracle

Inviting suggestions for an XML strategy!

More seriously, have also released a collection of XML tools in Java.

Supporters of oasis' XML.org standards definition community.


Benefits of XML


Example: Chemical Markup Language


The JUMBO XML browser


The Jumbo Browser: Illustration

The Jumbo Browser in use

I'm including this because in my experience the browser is so hard to use you may not be able to make it do anything the course will see as interesting.


Using Jumbo [1]

The XML source code for this demo


Using Jumbo [2]


SMIL: Glitz and eye-candy

Say 'Smile'!


SMIL: An Example

Larry Bouthillier: "What I did last summer..."

NB: You should ensure you have the G2 beta of RealPlayer to view this. As of November 1998, bugs in the server prevented the presentation from completely working over the Internet, but what does work on a 28k modem is still worth showing. To demonstrate the complete presentation, download the source and media in advance from here .


Document Type Definitions and dialects of XML


What is a Document Type Definition?


Do I have to use a DTD?


What DTDs are available?


Who will write DTDs?


Universality: or, all this is very nice but will it work?


Anatomy of an XML system


Example: a meeting arranger system


Creating an example document (quite easy)

This is a good opportunity for a whiteboard and some interaction! If possible, get the participants to do an example for themselves.


Creating the DTD (hard, but we'll use a trick)

Again, if possible, get the participants to actually do this.


Viewing it: creating a style-sheet (harder)


Using it: applications

Now we need to write applications which will:


XML in your context


Applications which will benefit greatly from XML

At present, only where the audience is controlled


Applications which will benefit little from XML

But even here the advantages of XML will gradually take over.


Early adoption: arguments for


Organisations which should aim to be early adopters


Early Adopters: Technical information [1]

Organisations which distribute large quantities of technical information to a targeted audience should adopt early.


Early Adopters: Technical information [2]


Early Adopters: Specialist search [1]

Organisations which publish volumes of reference information which users typically search should adopt early.


Early Adopters: Specialist search [2]


Early Adopters: Gaining experience [1]

Organisations which view the Web as core to their business should adopt early.


Early Adopters: Gaining experience [2]


Early Adopters: Technically competent business communities


Early Adopters: Publishers in multiple formats


Wait and see: arguments for

'It's not ready':
Commercial quality XML browsers are only just becoming available. Commercial quality tools are still thin on the ground.
'It may never happen':
Some powerful software houses may see it as to their advantage to undermine the standardisation process.
'What we've got is good enough':
For many organisations, the present capabilities of HTML as enhanced with applets and various proprietary multimedia plug-ins will continue to fulfill their needs for some time to come.

Organisations which should aim to wait and see

Remember: better tools will emerge; this is still a bleeding edge.


Review of XML Tools and Technologies


Parsers

Everyone and his dog seems to have written an XML parser in Java:

There are also a few parsers available in C, Python, etc...

Parsers are essential technology if you want to build user-level tools for XML, but, by themselves, don't do anything useful for the average user.


Editors [1]: Bright new dawn?

Everyone and his dog seems to have written an incomprehensible XML editor:

It is remarkable that anyone imagines that real work can be done with tools of this quality.


Editors [2]: Old faithful wins again.

[XEmacs in SGML mode]

Editors [3]: The big SGML toolsets

A number of other SGML editing tools can also be used for XML.


Editors [4]: And for the rest of you...


Browsers

SGML Browsers may also work.


Tools: Database Integration

As XML will be used for complex software-to-software information interchange, persistent, searchable storage of XML objects is important

Two principle approaches:


Tools: Dynamic content


Tools: Server-side tools

Rendering XML to HTML server-side

Why you would want to do this? because most users don't have XML aware browsers yet.


Tools: The state of play


Conclusions

Early days
When we planned this presentation in April 1998, we thought that by this time this technology would be beginning to stabilise. It hasn't; it isn't ready for the real world yet.
Scope
XML and the family of proposals based around it could radically change the way we interact with all data and all machines: it has the potential to be far more pervasive than the Web is now.
Development could be very rapid
Given good document authoring, conversion and maintenance tools and at least one solid mass-market browser, conversion to XML could be very rapid indeed.

References and further reading

XML

Standards

Authoritative sources of standards documents, mostly from the World Wide Web Consortium (W3C)

Extensible Markup Language (XML) 1.0
The Annotated XML Specification
The standard annotated by one of the editor's personal comments -- very revealing!
Meta Content Framework Using XML
'Content about content' - i.e. information for search and indexing engines and other software agents which must make some sense of the document.
Audio, Video, and Synchronized Multimedia
The SMIL standard. I believe SMIL has implications not just for the Web, but for all sorts of presentation media including digital television.
VML - the Vector Markup Language
Vector (infinitely zoomable) graphics for the Web, with implications especially for maps and technical diagrams.
XHTML 1.0: The Extensible HyperText Markup Language
Backwards compatibility: implementing HTML in XML. Only very well written HTML is going to work!
XML.COM - Standards List Sorted by Date
XML Catalog proposal
XHTML 1.0: The Extensible HyperText Markup Language
Template Resolution in XML/HTML
eXtensible Server Pages (XSP) Layer 1
XSL Transformations (XSLT) Specification

FAQs, Directories and Resources

Extensible Markup Language (XML)
A useful and authoritative overview of the technology; another good place to start.
Frequently Asked Questions about the Extensible Markup Language
The most superior FAQ. Everyone seriously interested in XML should start here.
SCHEMA.NET: The XML Schema Site

Turorials

A Tutorial in XML and XSL Authoring
Synchronized Multimedia on the Web (Web Techniques, September 1998)
A complete howto of SMIL with worked example. Required Real Networks G2 plugin.
Java & XML: 1 + 1> 2
The WDVL: XML Tutorials
Generally Markup: XML Resources

Software resources

Editors

Adobe GoLive: XML Support
Editing SGML with Emacs and PSGML - Table of Contents
A GNU Emacs mode for SGML files
SoftQuad XMetaL: Features

Browsers

Jumbo
Doczilla
XML Viewer : another alphaWorks technology
HyBrick Availability
InDelv

XML to HTML on the fly

IBM XML Web Site, Education - Accessing XML on the Client
Apache Cocoon
Apache is the world's most widely used Web server. This is the Apache project's server-side XML to HTML conversion strategy, important for serving XML documents while many browsers are still unable to interpret it. Implemented as a Java Servlet, may work with other Servlet enabled Web servers (but then does anyone serious use anything other than Apache anyway?)
XT

XML Database integration

DB2XML A tool for transforming relational databases into XML documents
Tamino - The Information Server for Electronic Business, Software AG
A database which claims to store XML directly. Whether this means that it's really an object-oriented database underneath I'm not sure.
Object Design Home
ODBC2XML: Merging ODBC data into XML documents

Conversion tools and filters

MajiX 1.1 the simplest way to produce XML
Java tool for translating RTF to XML.
RTF2XML
Tool for converting RTF to XML, written in Omnimark
OmniMark Technologies Corporation
A programming language for manipulating data streams, useful in writing conversion filters from other formats into XML.

Quick ways to produce DTDs

DTDGenerator - A tool to generate XML DTDs
DTDGenerator Frontend
DB2XML A tool for transforming relational databases into XML documents

Structured Search tools

Downloading sgrep
Probably the most powerful simple tool for manipulating SGML and XML documents

Software collections and directories

XMLSOFTWARE.COM: The XML Software Site
This (commercial) site tries to keep track of XML related software tools which are available. Likely not to effectively index open source tools in the longer term.
Free XML software

OpenXML
Major open source project to provide XML tools in Java
PHP3: Manual: XML Parser Functions
PHP is a server-side scripting language -- probably the best of the open source ones available. This manual section shows how the PHP project intends to handle XML at the server side, and is thus an alternative to Apache's Cocoon technology.
XML Authority Product Overview
eidon products - Solutions for Structured Documents
Dynamic XML for Java : another alphaWorks technology
XML Products Evaluation Form

Commentry and background

Scientific American: Feature Article: XML and the Second Generation Web: May 1999
An extremely clear and well written article
DevEdge Online - Metadata
Netscape's official take on metadata.
XML.COM - XML support in IE5
XML.com sets out to be a newsletter on XML and related developments. It's contributors are in general exceptionally well informed. In this article Tim Bray (who works closely with Netscape) reviews Microsoft IE5's XML compatibility.
CNET News.com - Taking sides on XML
XML, Java, and the future of the Web

XML - EDI stuff

CNET News.com - IBM links business software, e-commerce
XML Applications Stand Up To EDI
Welcome to RosettaNet
Probably the most incompetent and unprofessional Web site I've ever seen. This organisation claims to be the hup of EDI in XML development, but their Web site gives no comfort whatever regarding their competence.
TechSearch
ariba.com - welcome
Veo Systems Home
The OBI Consortium
Biztalk - Letting computers speak the language of business

News

XMLephant: News

eXtensible Server Pages (XSP) Layer 1
XML, Java, and the future of the Web

Stylesheets

CSS1 Leader Board
CSS1 Test Suite
Web Review - The Safe List
QAML English Home Page


Thank you

This presentation is available online.

Course Author and Presenter

Simon Brooke Technical Director, Weft Technology Ltd simon@weft.co.uk

Simon Brooke has been a technical consultant in advanced software applications for thirteen years. He advises on the development of software architectures and systems, primarily for Internet and Intranet application.

As a consultant, Simon has advised many blue chip companies, primarily in the IT, Telecoms and Chemical industries, on the application and development of advanced software systems.