James Clark

James ClarkI was born 23rd February 1964 in London, England. I was educated at Charterhouse. I read Mathematics and Philosophy at Merton College, Oxford, where I obtained Class I Honours.

I have been writing open source software since about 1987. My first big project was groff, a complete, open source implementation of the standard Unix typesetting system, including troff, eqn, tbl, pic, -ms and -man macros. I donated this to the GNU project. It's a standard part of Linux.

Since 1991, my work has been mainly in the area of SGML/XML including:

An open-source SGML parser written in C. I created this based on the ARCSGML parser materials by Charles Goldfarb. It became the most widely used SGML parser in the world
An open-source SGML parser written in C++. I wrote this from scratch to overcome the limitations of sgmls. This is now used in numerous SGML products and is widely regarded as the best SGML parser.
International Standard ISO/IEC 10179:1996, a language for transformation and styling of SGML. I was involved with this from 1991 and ended up writing most of the standard.
James' DSSSL Engine, an open source implementation in C++ of the style language part of DSSSL.
A simplified subset of SGML for use on the Web. I was technical lead for the World Wide Web Consortium's XML activity which developed XML 1.0 Recommendation. Since its publication in February 1998, XML has achieved widespread industry acceptance, including Microsoft, Sun, Oracle, Netscape, and IBM as a key technology for the future development of the Web.
Web SGML Adaptations
I was active in the work of ISO/IEC JTC1/SC18/WG8 (now JTC1/SC34) in developing SGML TC2, which enhanced SGML so that XML could be a subset of SGML.
An open-source XML parser written in C. This is the world's fastest XML parser. It is being used by Netscape and Perl.
A free, open-source XML parser written in Java.
XML stylesheet linking
A little W3C Recommendation on associating stylesheets with XML documents. I am editor.
A language for transforming and styling XML. It is the counterpart to DSSSL in the XML world. I was a co-author of the XSL submission (with Microsoft, Arbortext and Inso). The transformation part of XSL has been separated out and is now called XSLT; I am editor of the XSLT Recommendation. The query language part of XSLT has also be separated out and is now called XPath; I am co-editor of the XPath Recommendation.
An open-source implementation in Java of XSLT.
A schema language for XML. I designed and implemented this.
A schema language for XML based on TREX and RELAX. This was developed within OASIS and is now an International Standard (ISO/IEC 19757-2).
An open-source implementation in Java of a RELAX NG validator.
An open-source program in Java for converting XML DTDs into RELAX NG.
An open-source program in Java for translating schemas in RELAX NG into other formats.
nXML mode
A new XML mode for GNU Emacs which does incremental XML parsing and RELAX NG validation.

I was a major investor in and a director of SoftQuad Software before it was acquired by Corel.

In 2001, I was awarded the first XML Cup.

After visiting Thailand in 1995, I eventually moved there and am now a permanent resident. I have a small company, the Thai Open Source Software Center, which provides a legal framework for my various open-source activities.

In November 2004, I started working at SIPA (Software Industry Promotion Agency, Ministry of Information and Communication Technology). My job is to promote open-source in Thailand.

I live in the Sukhumvit area of Bangkok.

I support a number of charitable projects in Thailand, mostly related to education, particularly in rural areas. My main partner in these projects is PDA. In particular, I support Lamplaimat Pattana School.

James Clark