James Clark (born 1964) is a British software developer who played a crucial role in developing XML and creating essential tools for processing markup languages. His work on parsers and transformation engines enabled the practical adoption of SGML and XML.
XML Development
Clark was the technical lead for the XML specification at W3C. He helped simplify SGML into a format practical for web use while maintaining its power for structured data.
Essential Tools
Clark created foundational software:
- expat: Fast, non-validating XML parser used everywhere (Python, Apache, Mozilla)
- groff: GNU troff text formatter
- jade: DSSSL engine for SGML/XML transformation
- nxml-mode: Emacs mode for XML editing
SGML Contributions
Before XML, Clark was instrumental in making SGML practical:
- Created SP, the standard SGML parser
- Developed transformation tools
- Helped standardize DSSSL (Document Style Semantics and Specification Language)
RELAX NG
Clark co-created RELAX NG, a schema language for XML that’s simpler and more expressive than XML Schema. It became an ISO standard and remains popular for XML validation.
Legacy
Clark’s tools and specifications form the foundation of XML processing. His emphasis on simplicity, correctness, and practical implementation influenced how structured data is processed across the industry.