James Clark | |
---|---|
Born | James Jackson Clark 23 February 1964 |
Education | Charterhouse School |
Alma mater | University of Oxford (BA) |
Known for | |
Spouse | Joy Chanpen |
Children | 1 |
Relatives |
|
Family | Sainsbury family |
Awards | XML Cup (2001) [1] |
Scientific career | |
Fields | |
Institutions | Thai Open Source Software Center SIPA WSO2 [2] |
Website | www |
James Clark (born ) is a software engineer and creator of various open-source software including groff, expat and several XML specifications. [1] [3] [4] [5]
Clark was born in London and educated at Charterhouse School and Merton College, Oxford where he studied Mathematics and Philosophy. [1]
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.
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. 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:
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]
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:
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.
In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.
XSLT is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. Support for JSON and plain-text transformation was added in later updates to the XSLT 1.0 specification.
In computing, the Java API for XML Processing (JAXP), one of the Java XML application programming interfaces (APIs), provides the capability of validating and parsing XML documents. It has three basic parsing interfaces:
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.
Xalan is a popular open source software library from the Apache Software Foundation, that implements the XSLT 1.0 XML transformation language and the XPath 1.0 language. The Xalan XSLT processor is available for both the Java and C++ programming languages. It combines technology from two main sources: an XSLT processor originally created by IBM under the name LotusXSL, and an XSLT compiler created by Sun Microsystems under the name XSLTC. A wrapper for the Eiffel language is available.
REgular LAnguage description for XML (RELAX) is a specification for describing XML-based languages. A description written in RELAX is called a RELAX grammar.
In computing, RELAX NG is a schema language for XML—a RELAX NG schema specifies a pattern for the structure and content of an XML document. A RELAX NG schema is itself an XML document but RELAX NG also offers a popular compact, non-XML syntax. Compared to other XML schema languages RELAX NG is considered relatively simple.
Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees. It is a structural schema language expressed in XML using a small number of elements and XPath languages. In many implementations, the Schematron XML is processed into XSLT code for deployment anywhere that XSLT can be used.
Saxon is an XSLT and XQuery processor created by Michael Kay and now developed and maintained by his company, Saxonica. There are open-source and also closed-source commercial versions. Versions exist for Java, JavaScript and .NET.
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constraints are generally expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.
XPath 2.0 is a version of the XPath language defined by the World Wide Web Consortium, W3C. It became a recommendation on 23 January 2007. As a W3C Recommendation it was superseded by XPath 3.0 on 10 April 2014.
Makoto Murata is a Japanese computer scientist, Ph.D. in engineering, and Project Professor at Keio University.
The Oxygen XML Editor is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin.
XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.
Content Assembly Mechanism (CAM) is an XML-based standard for creating and managing information exchanges that are interoperable and deterministic descriptions of machine-processable information content flows into and out of XML structures. CAM is a product of the OASIS Content Assembly Technical Committee.
XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.
An XML transformation language is a programming language designed specifically to transform an input XML document into an output document which satisfies some specific goal.
Zorba is an open source query processor written in C++, implementing