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
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
first off the block
- improved reliability?
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
first off the block
improved reliability
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
first off the block
improved reliability
- innovation?
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
first off the block
improved reliability
innovation
What makes the Web special? | |
Why the World Wide Web, and not (e.g.) Guide or InterMedia or System-G?
first off the block
improved reliability
innovation
- simplicity?
What makes the Web special? | |
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? | |
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.
Simplicity is not enough.
Consider the story of Gopher. And remember Albert Einstein.
The World Wide Web Consortium | |
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
Because of our goals, we care about
- scalability
- decentralization
- consensus-based standardization
- vendor neutrality
- openness (both technical and social)
- freedom to implement W3C specifications
- clarity concerning intellectual property rights
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.
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!
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.
Also:
XML is SGML without some of the cruft.
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?
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>
Three layers of rules governing data.
DTDs do two different things | |
Distinguish logical and physical structure.
Four layers, four or more specs | |
To every thing there is a season. And a spec.
What we foresaw (and a bit more) | |
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.
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
A conceptual stack for markup (or data representation generally).
Implications of the stack | |
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 | |
A typical data flow diagram.
What will data processing be? | |
When you have a good hammer ...
(Possible analogies with Jenny, die Seeräuberbraut, or
with Joh. Faustus.)
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
- XML-to-XML transformations
- XML messages for distributed applications
- SOAP
- Web Services description, choreography
- Digital signatures, encryption
- ontologies for distributed processes, services, clients, ...
- XML applications (commercial, academic, ...)
Every XML vocabulary entails (implicitly or explicitly) an ontology.
Can we connect them to each other?
- ownership of information
- freedom from vendor lock-in
- freedom from pre-defined semantics
- application independence
- 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?” | |
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.
C. M. Sperberg-McQueen
Member, Technical staff
World Wide Web Consortium
cmsmcq@w3.org