XML standardization at W3C
Where are we and how did we get here?
Lots of XML standardization at W3C in the late ’90’s and early ’00’s.
At some point, W3C decided to close the XML Activity.
That ended the XML working groups.
Innovation continues
Folks interested in working on XML tooling formed Community Groups:
Invisible XML
XQuery, XSLT, etc. (“QT4”)
XProc
XForms
I’m involved in the first three (there may be more).
Invisible XML
Allows users to write grammars to reveal the implicit structure in data
Reads an input text, applies a grammar, produces XML.
Consider this text file:
1 |* [A] Register for TPAC.|* Book travel.|* Write presentation. due=October, 27|* Travel (remember passport!). due=October, 245 |* [B] Write trip report. due=November 2|* Checkout, travel home.
Invisible XML (2)
And this grammar:
1 |todo = item++nl, nl? .
|item = -"*", s, priority?, text, due? .
|@priority = -"[", s, [L], s, -"]", s .
|-text = ~[" " | "["], ~["."]+, ".", s .
5 |@due = -"due=", date .
|-nl = -#a .
|-s = -" "* .
|
|{ ... }Invisible XML (3)
Structured data!
1 |<todo>
| <item priority='A'>Register for TPAC.</item>
| <item>Book travel.</item>
| <item due='2026-10-27'>Write presentation.</item>
5 | <item due='2026-10-24'>Travel (remember passport!).</item>
| <item priority='B' due='2026-11-02'>Write trip report.</item>
| <item>Checkout, travel home.</item>
|</todo>Invisible XML CG
Meets online every other week, plus mailing lists, issues, etc.
Chair: Steven Pemberton. Five or six folks attend pretty regularly, several more occasionally.
Four or five interoperable implementations.
Published a Community Report, December 2023. Work on a new version is underway.
Eagerly adopted by a growing community
XQuery and XSLT Extensions
(aka “QT4”)
XPath, XQuery, XSLT, Functions and Operators, XSLT Streaming, XSLT and XQuery Serialization, Binary and File modules.
Core technologies for a lot of XML applications.
Some XSLT:
21 |<xsl:template match="todo">
| <ul>
| <xsl:apply-templates select="item">
| <xsl:sort select="(@priority, 'Z')[1]"
25 | order="ascending"/>
| <xsl:sort select="(@due, '1970-01-01')[1] ! xs:date(.)"
| order="descending"/>
| </xsl:apply-templates>
| </ul>
30 |</xsl:template>Which produces some HTML.
XQuery and XSLT Extensions CG
Meets online every week (meeting 186 is taking place right now!), plus mailing lists, issues, etc.
Chair: me. About a dozen folks attend regularly, a handful more occasionally.
Interoperable XPath and XQuery implementations, one complete XSLT implementation, several implementations in development.
Plans to publish in 2027 or 2028.
Eagerly anticipated by the community.
XProc
Combines XML (and non-XML) processes into a pipeline
Core syntax is in XML, but can process arbitrary data: XML, JSON, RDF, images, archives, etc.
An example pipeline:
21 |<p:declare-step version="3.1" xmlns:p="http://www.w3.org/ns/xproc">
|<p:input port="source" content-types="text"/>
|<p:output port="result" content-types="html"/>
|
25 |<p:invisible-xml>
| <p:with-input port="grammar" href="todo.ixml"/>
|</p:invisible-xml>
|
|<p:xslt>
30 | <p:with-input port="stylesheet" href="todo.xsl"/>
|</p:xslt>
|</p:declare-step>XProc Next CG
Meets online periodically, plus mailing lists, issues, etc.
Chair: me. Editorial team of four plus others occasionally.
Two complete, interoperable implementations.
Published a Community Report, May 2025. Work on a new version is underway with more work planned after QT4 is published.
XML is flourishing
XML’s future is secure.
Great!
So what’s the problem?
W3C organizes meetings of community group chairs occasionally.
At one such meeting recently, Steven Pemberton and I described our ongoing standards work.
W3C staff expressed reservations: Community Groups are for building interest and gathering participants, standards work should happen in Working Groups
Okay, but the XML Activitiy was closed; there’s no place for those Working Groups to live.
Discuss.