Author: Joseph Reagle
Audience: Legal XML
Question: Overview of W3C and XML
References:
Joseph M. Reagle
Jr.
<reagle@w3.org>
IETF/W3C XML
Signature Co-Chair
W3C/LCS/MIT
Agenda
- Market Big Picture
- Introduction to W3C
- Data Big Picture
- XML Shotgun Review
Market (Big Picture)
W3C Work Products
- Web components : HTTP
1.1, HTML 3.2 & HTML 4.0
- Presentation : CSS1, CSS2
- Multimedia : PNG, WebCGM, SMIL 1.0, SVG
- Document Structure : XML 1.0,
DOM Level 1, MathML
- Metadata : RDF
- Trust : P3P, XML Signature, and recent XML
Encryption Workshop
- Web Accessibility Initiative : Web Content, Authoring Tool, and User Agent Accessibility
Guidelines
W3C Background
- Host sites: MIT-LCS, INRIA, Keio University
- Offices: United Kingdom, Germany, Sweden, Netherlands, Greece, Italy,
Hong Kong, Taiwan, Morocco, Tunisia
- 450+ Member Organizations
- 500+ Working Group participants at any time
- Team: ~60 people
Data (Big Picture)
- Syntax is how information is represented.
- Semantics is what information means.
- Semantics are sometimes borrowed from the natural language.
- Semantics are sometimes inherent to the structure.
- Semantics are sometimes derived from logic. (e.g., RDF is used to describe the
relationship between a (resource, property, value).)
- Schemas describe a particular syntax, as well as the semantics of that
syntax's structure.
- The more syntax and semantics an agent can understand without human
intervention, the more powerful and flexible the agent becomes.
XML 1.0 and namespaces
6 October 2000: Extensible Markup
Language (XML) 1.0 (Second Edition)
- subset of SGML
- describes class of data objects with a grammar and processor
semantics.
- definitions of well formed and valid (using DTD) instances
14-January-1999. Namespaces in XML
- provide a simple method for qualifying element and attribute names
- permits content to be mixed together without collisions or
ambiguity
- recent plenary decision said relative URIs are deprecated
XML Schema
24 October 2000: XML Schema
Part 1: Structures
- written in XML and extends capabilities of DTDs.
- namespace aware
- enables very flexible content model specification by authors
- enables definition of types which can then be inherited, constrained,
restricted, and extended.
XML Information Set
- data model for tree of elements with attributes
- largely implicit in the XML 1.0 spec
- motivated by questions from DOM development
- named properties: children, base URI, etc.
- provides shared terminology for future specs
- other specs (e.g. XML Schema) may refine this model with other
properties
Canonical XML
- An Information Set (the data and its structure) can be expressed in many
ways (e.g., white-space, attribute ordering, character encoding, namespace
prefixes).
- Canonical XML is a consistent way of expressing an Information Set.
- Necessary for Signatures such that minor and permitted variances (the
reordering of an elements attributes) don't break the signature.
XML Linking
generalize HTML A, IMG, LINK
<my:crossReference
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:my="http://me.com/"
xlink:type="simple"
xlink:href="students.xml"
xlink:role="studentlist" xlink:title="Student List"
xlink:show="new" xlink:actuate="onRequest">
Current List of Students
</my:crossReference>
XPointer/XPath
- fragment identifier syntax for text/xml
- point to named or unnamed structures
- examples:
- #intro
- #xpointer(id("intro"))
- #xpointer(book/chapter[position() <= 5])
XSLT (Transforms)
- Transform an XML document into a different XML document (including an
XML document with style/presentation markup).
- For instance, could transform a legal XML document into an XHTML
document.
XML Signature
- The meaning of a signature is simple: The XML-signature syntax
associates the content of resources listed with a key via a cryptographic
operation.
- XML-signatures are generated from a hash over a list of references and
the digest value of the references' content.
- Meets requirement of signing portions of documents via transforms (i.e.,
XPath/XSLT)
- Enables enveloped
signatures (signature within content being signed), enveloping signatures (content is
within signature being signed) and detached signatures (over data external
to the signature document).
- Algorithm extensible
- Uses namespaces and XML Schema
Cool Upcoming XML Apps at W3C
- XML Protocol: An envelope for encapsulating
XML data to be transferred in an interoperable manner that allows for
distributed extensibility and evolvability as well as intermediaries. [Chartered]
- XML Encryption: An XML syntax for representing encrypted data. In
particular, for representing portions of an XML document (i.e., elements,
perhaps attribute values) [Not chartered: Workshop
Minutes]