ジェームズ・クラーク (ソフトウェア技術者)

ジェームズ・クラーク（James Clark、1964年2月23日 - ）は、タイで活動しているソフトウェア技術者である。SGML/XML 技術、オープンソースなどにおいて、多くの業績がある。W3C (World Wide Web Consortium) の XML ワーキンググループで、技術リーダとして他の人々とともにマークアップ言語 XML1.0 の仕様を設計した。村田真とともにXMLのスキーマ言語、RELAX NGの仕様を設計した。
クラークはイングランド（イギリス）のロンドンで生まれ、Charterhouse（パブリックスクール）で学び、オクスフォード大学の Merton College で数学と哲学を専攻した。1995年にタイのバンコクに移住して現在に至る。
クラークは、2004年11月からタイのソフトウェア産業振興庁 (SIPA; Software Industry Promotion Agency) に勤務している。SIPAでタイにおけるオープンソース技術とオープンな標準技術の振興を仕事としている。また、タイの農村地域での教育を支援する活動を行っている。
クラークは、タイオープンソースソフトウェアセンターという名前の小さな会社を所有している。この会社は、クラークのオープンソースに関わる活動について、法的な側面を取り扱っている。
業績.
SGML と DSSSL.
クラークは、1991年に ISO において SGMLのスタイルシート言語である DSSSLの標準を策定する作業に参加し、その仕様の大部分を作成した。DSSSLは、1996年にISO/IEC 10179:1996として規格が定められた。
クラークは、SGML文書の処理を支援するいくつかのオープンソースのソフトウェアを開発した (後述)。
またクラークは、SGMLを次の項で述べるXMLと互換性をもたせるために、SGMLの仕様を改訂する作業を行った一人である。
XML1.0とXPath、XSLTなど.
クラークはW3C (World Wide Web Consortium) のXMLワーキンググループに参加し、技術リーダとして、ジョン・ボサックやティム・ブレイ、村田真などの人々とともに、マークアップ言語 XML1.0の仕様を設計した。XML1.0の仕様はSGMLのサブセットとなっている。1998年2月にW3Cから勧告として公表された。
W3C において XML のいくつかの関連技術の仕様を策定する作業で、大きな役割を果たした。
クラークは XML 文書の処理を支援するソフトウェアも開発している（後述）。
2001年にXML技術への多くの貢献を評価されてIDEAllianceから最初のXML Cup Awardを受賞した。
TREX と RELAX NG.
クラークや村田真などの人々は、XML Schemaに対して批判的な立場をとった。XML Schemaは、W3Cが開発を進めていたXMLのための新しいスキーマ言語である。従来使われてきたスキーマ言語であるDTDを代替するものである。XML Schemaは、多くの機能をつめこんだため、仕様が複雑で巨大になっていた。クラークや村田真などXML Schemaに批判的な人々は、XML Schemaの仕様を完全に実装した処理系の開発が困難であること、XMLを活用する技術者にとってXML Schemaのスキーマの読み書きは難しいこと、などを指摘した。
クラークはスキーマ言語TREX (Tree Regular Expressions for XML) を開発した。TREXでは、XML Schemaと異なり、仕様が簡潔になっている。なおほぼ同じ時期に、村田真などの人々も、XML Schemaとは別の新しいスキーマ言語RELAX (Regular Language description for XML) を開発していた。
クラークと村田真は、TREXとRELAX Coreをもとにしてスキーマ言語RELAX NGを設計した。RELAX NGの構文はTREXを発展させたものである。RELAX NGは、2001年12月に OASIS（構造化情報標準促進協会）によって標準化された。ISO においては、2003年に文書スキーマ定義言語 (DSDL、Document Schema Definition Languages) ISO/IEC 19757のPart2として規格化されている。JIS においても規格化される予定である。
クラークは、XML文書がRELAX NGのスキーマに準拠していることを検証するソフトウェアJingを開発した。
オープンソース.
クラークは、1987年以降、多くのオープンソースのソフトウェアを開発している。また Mozilla Firefox や OpenOffice.orgなどのオープンソースのソフトウェアのタイ語への対応 (localization) を支援している。