What does XML have to do with Immanuel Kant?

C. M. Sperberg-McQueen

Net.ObjectDays 2004

5. Internationale GI-Fachtagung für Objektorientierte und Internet-basierte Technologien, Konzepte und Anwendungen.

Erfurt

29. September 2004

TOC | First


What makes the Web special?

previous table of contents next
1 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
2 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
3 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
4 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
5 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
6 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
7 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
8 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?

What makes the Web special?

previous table of contents next
9 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
  • first off the block
  • improved reliability
  • innovation
  • simplicity
The Web succeeded because it was simple.
Why was it made simple?

What makes the Web special?

previous table of contents next
10 of 43
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
  • first off the block
  • improved reliability
  • innovation
  • simplicity
The Web succeeded because it was simple.
Why was it made simple? In order to scale.

A cautionary note

previous table of contents next
11 of 43
Simplicity is not enough.
Consider the story of Gopher. And remember Albert Einstein.

The World Wide Web Consortium

previous table of contents next
12 of 43
Our mission: to lead the Web to its full potential.
Our goals:
  • universal access
  • semantic Web
  • trust
  • interoperability
  • evolvability (through simplicity, modularity, compatibility, extensibility)
  • decentralization
  • cooler multimedia

Some consequences

previous table of contents next
13 of 43
Because of our goals, we care about

W3C organization

previous table of contents next
14 of 43
A decentralized world-wide organization.
  • members from Europe, North America, and Asia
  • Working Groups, Advisory Committee
  • technical staff
  • host organizations
    • ERCIM (European Research Consortium for Informatics and Mathematics), Sophia-Antipolis
    • Keio University, Tokyo
    • Massachusetts Institute of Technology, Cambridge, Mass.
  • offices in many regions: Australia, Benelux, Finland, Germany/Austria, Greece, Hong Kong, Hungary, Israel, Italy, Korea, Morocco, Spain, Sweden, United Kingdom and Ireland.

We need your help

previous table of contents next
15 of 43
As customers, demand that your vendors support open standards!
As users, read and comment on our draft specifications!
As developers, read and comment on our draft specifications, and then implement them!
As institutions, join the W3C to give users and developers a stronger voice within the organization!

What makes XML special?

previous table of contents next
16 of 43
First, the heritage of SGML (Standard Generalized Markup Language, ISO 8879):
  • generic / generalized / descriptive markup (vs. application-specific)
    • for data reuse
    • for data longevity
  • (therefore) declarative markup (vs. imperative)
  • information has validatable structure
  • markup semantics are defined by application, not centrally
  • (ideally) markup semantics fit the application
Note the social pattern: user owns data, not application software owns data.

What makes XML special?

previous table of contents next
17 of 43
Also:
  • simplicity
XML is SGML without some of the cruft.

XML

previous table of contents next
18 of 43
Some dates:
1967: early work on generic markup: logical markup, not appearance- or process-oriented
1973: Generalized Markup Language
1986: Standard Generalized Markup Language (SGML) an ISO standard
1996: Work on ‘SGML on the Web’ starts in W3C
  • Make SGML Web-ready. Keep XML SGML-compatible.
  • Keep the power: nested structure, world view, reusability, generic markup, data ownership.
  • Lose the cruft: simplify, simplify!
1998: XML 1.0 becomes a W3C Recommendation
2004: over 20 XML-related specs at W3C — why so many?
Has XML lost its simplicity?

XML is a language

previous table of contents next
19 of 43
The syntax of XML is simple:
<doc>
  <rule number="1">Everything is delimited.
    <elucidation>
      <subrule>Elements are delimited by <term>start-</term> 
        and <term>end-tags</term>.</subrule>
      <subrule>Tags are delimited by angle brackets.</subrule>
      <subrule>Attribute values are delimited by 
        quotation marks.</subrule>
    </elucidation>
  </rule>
  <rule number="2">Everything nests.
    <elucidation>
      <subrule>Elements occur within elements.</subrule>
      <subrule>Attributes are specified within start-tags.</subrule>
    </elucidation>
  </rule>
</doc>

XML is a metalanguage

previous table of contents next
20 of 43
Three layers of rules governing data.

DTDs do two different things

previous table of contents next
21 of 43
Distinguish logical and physical structure.

Four layers, four or more specs

previous table of contents next
22 of 43
To every thing there is a season. And a spec.

What we foresaw (and a bit more)

previous table of contents next
23 of 43
The original plan:
  • XML (a lightweight SGML) 1998
    • generic markup
    • validation
  • XLink / XPointer (lightweight HyTime) 2002, 2003
    • stand-off links
    • n-way linking
    • structure-based addressing
  • XSL (lightweight DSSSL) 1999, 2001
    • structure-based formatting and rendering
    • tree transformations
    • flow objects
  • XML applications / XML-based languages (SMIL, XHTML, MathML, ...)
An early addition: XML Namespaces 1.0.

Conceptual layers

previous table of contents next
24 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
25 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
26 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
27 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
28 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
29 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
30 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
31 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
32 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
33 of 43
A conceptual stack for markup (or data representation generally).

Conceptual layers

previous table of contents next
34 of 43
A conceptual stack for markup (or data representation generally).

Implications of the stack

previous table of contents next
35 of 43
XML Information Set: what is information, what is insignificant variation
XML 1.1: alignment with Unicode 3
XML Namespaces 1.1: improve processing on abstract model, re-serialization

World domination through markup

previous table of contents next
36 of 43
A typical data flow diagram.

What will data processing be?

previous table of contents next
37 of 43
When you have a good hammer ...
(Possible analogies with Jenny, die Seeräuberbraut, or with Joh. Faustus.)

Further implications

previous table of contents next
38 of 43
If XML is a good way to represent complex data, then we'll also need:
  • APIs for XML
    • Document Object Model (DOM)
    • Simple API for XML (SAX)
  • XML querying
    • XPath
    • XQuery
    • XSLT
  • XML-to-XML transformations
    • XQuery
    • XSLT
  • XML messages for distributed applications
    • SOAP
    • Web Services description, choreography
    • Digital signatures, encryption
    • ontologies for distributed processes, services, clients, ...
  • XML applications (commercial, academic, ...)

Yet further implications

previous table of contents next
39 of 43
And what about
  • semantics
Every XML vocabulary entails (implicitly or explicitly) an ontology.
Can we connect them to each other?

What makes XML special?

previous table of contents next
40 of 43
  • ownership of information
    • freedom from vendor lock-in
    • freedom from pre-defined semantics
    • application independence

What makes XML special?

previous table of contents next
41 of 43
  • ownership of information
    • freedom from vendor lock-in
    • freedom from pre-defined semantics
    • application independence
  • responsibility for information
    • You must think about the processing you need.
    • You must decide what information you wish to capture, and what information you wish to discard.
    Sometimes painful, but worthwhile.

Answer to the question “What is enlightenment?”

previous table of contents next
42 of 43

Aufklärung ist der Ausgang des Menschen aus seiner selbst verschuldeten Unmündigkeit. Unmündigkeit ist das Unvermögen, sich seines Verstandes ohne Leitung eines anderen zu bedienen.

-Kant

Enlightenment is the emancipation of the individual from a self-imposed tutelage. Tutelage is the inability to use one's reason without direction from another.

Thank you

previous table of contents next
43 of 43
C. M. Sperberg-McQueen
Member, Technical staff
World Wide Web Consortium
cmsmcq@w3.org
For more information: http://www.w3.org/XML