Jump to content

James Clark (programmer)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by MarnetteD (talk | contribs) at 15:36, 18 September 2020 (Filled in 7 bare reference(s) with reFill 2). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

James Clark
Born (1964-02-23) 23 February 1964 (age 61)
EducationCharterhouse School
Alma materUniversity of Oxford (BA)
Known for
AwardsXML Cup (2001)[1]
Scientific career
FieldsXML
Open-source software
InstitutionsThai Open Source Software Center
SIPA
WSO2[2]
Websitewww.jclark.com

James Clark (born ) is a software engineer and creator of groff, expat, various open-source software and XML specifications.[1][3][4]

Education and early life

Clark was born in London and educated at Charterhouse School and Merton College, Oxford where he studied Mathematics and Philosophy.[1]

Career

Clark has lived in Bangkok, Thailand since , and is permanent Thai resident. He owns a company called Thai Open Source Software Center, which provides him a legal framework for his open-source activities. Clark is the author and creator of groff, as well as an XML editing mode for GNU Emacs.

Work on XML

Clark served as technical lead of the working group that developed XML—notably contributing the self-closing, empty element tag syntax, and the name XML.[5] His contributions to XML are cited in dozens of books on the subject.[citation needed] Clark is the author or co-author of a number of influential specifications and implementations, including:

DSSSL
An SGML transformation and styling language.
Expat
An open-source XML parser.
XSLT
XSL Transformations, a part of the XSL family. He was the editor of the XSLT 1.0 specification.
XPath
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.
TREX
Tree Regular Expressions for XML (TREX) is a schema language for XML.[6] TREX has been merged with RELAX to create RELAX NG.[6][7]
RELAX NG
An XML Schema language, with both an explicit XML syntax and a compact syntax. Clark was highly critical of the XML Schema (W3C) language (also known as XSD)[8] and developed RELAX NG in response
Jing
An implementation of RELAX NG.[9]
Clark Notation
A way to express an XML Name in a compact way[10]
Ballerina
Ballerina is an open source general-purpose programming language for application programmers.

Clark is listed as a member of the working group that developed the Java Stream processing API for XML (StAX) JSR 173 at the JCP.[11]

Software Industry Promotion Agency (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:

  • Chantra: An open source Thai project with programs for Windows, like the OpenCD project.
  • Suriyan GNU/Linux An user-friendly "instant server" system for small and medium-sized companies[12] not to be confused with SIPA's new, unrelated project with a similar name, Suriyan Linux Live CD[13].

References

  1. ^ a b c Biography, at his own homepage, jclark.com.
  2. ^ "WSO2". wso2.com.
  3. ^ "James Clark's Random Thoughts".
  4. ^ "A Triumph of Simplicity: James Clark on Markup Languages and XML". web.archive.org. 24 February 2002.
  5. ^ "The History of XML". totalxml.net. Archived from the original on 25 April 2019. Retrieved 4 November 2009.
  6. ^ a b Jones, Christopher A.; Drake, Fred L.; Jr, Fred L. Drake (2002). Python and XML. "O'Reilly Media, Inc.". p. 21. ISBN 9780596001285. Retrieved 6 March 2019.
  7. ^ Cover, Robin. "Tree Regular Expressions for XML (TREX)". xml.coverpages.org. Retrieved 6 March 2019.
  8. ^ "Schema Wars: XML Schema vs. RELAX NG". Retrieved 11 May 2019.
  9. ^ "Jing". relaxng.org.
  10. ^ Clark, James. "XML Namespaces". James Clark's Home Page. Retrieved 17 September 2015.
  11. ^ "The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 173". jcp.org.
  12. ^ "Default OaO Sedo Frameset". www.suriyan.org.
  13. ^ "Suriyan Linux Live CD". web.archive.org. 11 February 2008.