ジェームズ・クラーク(James Clark、
1964年2月23日生まれ)は、タイを拠点に活動する著名な
ソフトウェア技術者です。彼は、SGML/XML技術、特に
マークアップ言語の分野において重要な貢献をしてきました。また、オープンソース
ソフトウェアの開発にも積極的に関わっており、その活動は多岐にわたります。
クラークは、W3C(
World Wide Web Consortium)のXMLワーキンググループにおいて、技術リーダーとしてXML 1.0の仕様策定に携わりました。ジョン・ボサック、ティム・ブレイ、村田真らと共に、XML 1.0の仕様を設計し、これはSGMLのサブセットとして、1998年2月にW3C勧告として公表されました。さらに、彼は村田真と共同で、XMLのスキーマ言語である
RELAX NGの仕様を設計しました。
イギリスの
ロンドンで生まれたクラークは、Charterhouseという
パブリックスクールを経て、オクスフォード大学のMerton Collegeで
数学と
哲学を専攻しました。1995年にタイの
バンコクに移住し、現在に至ります。2004年11月からは、タイの
ソフトウェア産業振興庁(SIPA)に勤務し、タイにおけるオープンソース技術とオープンな標準技術の普及に努めています。
クラークは、タイの農村地域での教育支援活動も行っており、社会貢献にも熱心です。彼はまた、自身のオープンソース活動を法的にサポートするため、タイオープンソース
ソフトウェアセンターという会社を所有しています。
業績
クラークの主な業績は以下の通りです。
SGMLとDSSSL
1991年、クラークはISOにおけるSGMLの
スタイルシート言語DSSSLの標準策定に携わり、その仕様の大部分を作成しました。DSSSLは1996年にISO/IEC 10179:1996として規格化されました。また、SGML文書の処理を支援するいくつかのオープンソース
ソフトウェアを開発し、SGMLの仕様をXMLと互換性を持たせるための改訂作業にも貢献しました。
XML1.0と関連技術
W3CのXMLワーキンググループでは、技術リーダーとしてXML 1.0の仕様策定に貢献しました。また、XML関連の以下の技術仕様の策定にも深く関わりました。
xml-stylesheet処理命令: XML文書とスタイルシートを関連付けるための仕様。
XPath: XML文書内の特定の要素や属性を指定するためのパス記述方法。
XSLT: XML文書を別のXML文書に変換するための技術。XSLスタイルシート技術の一部。
クラークは、XML文書の処理を支援するソフトウェアも開発しており、これらの貢献が評価され、2001年にIDEAllianceから最初のXML Cup Awardを受賞しました。
クラークは、XML Schemaの複雑さを批判し、より簡潔なスキーマ言語としてTREXを開発しました。同時期に村田真が開発したRELAX Coreと統合し、RELAX NGを設計しました。RELAX NGは、OASISによって2001年12月に標準化され、ISO/IEC 19757のPart2としても規格化されています。また、RELAX NGスキーマに準拠したXML文書を検証するソフトウェアJingも開発しました。
オープンソース
1987年以降、クラークは数多くのオープンソースソフトウェアを開発しています。また、Mozilla FirefoxやOpenOffice.orgなどのソフトウェアのタイ語対応にも貢献しています。
代表的なオープンソースソフトウェアとして、以下のようなものがあります。
groff: テキスト整形
ソフトウェア。
UNIXのtroff/nroffを実装。
GNUプロジェクトに寄贈。
sgmls: SGML処理系。ARCSGMLを基に開発。
SP: sgmlsを再設計したSGML処理系。
Jade: DSSSL処理系。
Expat: XML処理系。
XP: Javaで実装されたXML処理系。
XT: Javaで実装されたXSLT処理系。
Jing: RELAX NGバリデータ。
DTDinst: DTDから
RELAX NGなどへの変換ツール。
Trang: スキーマ変換ソフトウェア。
nXML mode: EmacsのXMLモード。
これらの
ソフトウェアは、XML関連技術の普及と発展に大きく貢献しています。