James Clark (born ) is the author of groff and expat, and has done much work with open-source software and XML.
Born in London and educated at Charterhouse and Merton College, Oxford, Clark has lived in Bangkok, Thailand since , and is now a permanent resident. He owns a company called Thai Open Source Software Center, which provides him a legal framework for his open-source activities.
For the GNU project, he wrote groff, as well as an XML editing mode for GNU Emacs.
James Clark served as Technical Lead of the Working Group that developed XML—notably contributing the self-closing, empty-element tag syntax (for example: "
<tagname/>"), and the name XML. His contributions to XML are cited in dozens of books on the subject.
James is the author or co-author of a number of influential specifications and implementations, including:
- An SGML transformation and styling language.
- An open-source XML parser.
- XSL Transformations, a part of the XSL family. He was the editor of the XSLT 1.0 specification.
- Path language for addressing XML documents; used by XSLT but also as a free-standing language. He was the editor of the XPath 1.0 specification.
- Tree Regular Expressions for XML (TREX) is a schema language for XML. TREX has been merged with RELAX to create RELAX NG.
- RELAX NG
- An XML Schema language, with both an explicit XML syntax and a compact syntax. Clark was highly critical of the W3C Schema language (now known as XSD) and developed RELAX NG in response
- An implementation of RELAX NG.
- Clark Notation
- A way to express an XML Name in a compact way
He is listed as part of the Working Group that developed the Java Streaming API for XML (StAX) JSR 173 at the JCP.
Work at SIPA
From until late , Clark worked for Thailand's Software Industry Promotion Agency (SIPA), to promote open source technologies and open standards in the country. This work included pushing the Thai localization of OpenOffice.org office suite and the Mozilla Firefox Web browser, along with other open source software packages.
Other projects at SIPA include: