Homepage of Kohsuke Kawaguchi

e-mail and twitter
blog in English and Japanese

These are things that I work on:

XML

My primary interest is around schema languages for XML.

RELAX NG

See my RELAX NG related works here. This is the main contents of this web site.

W3C XML Schema

W3C XML Schema is also another schema language that sometimes you are forced to work with in a real life.

XML Schema: DOs and DON'Ts
Things you should know to live a happy life with W3C XML Schema.

JARV

JARV is a schema language neutral Java API for XML validators. JARV has evoloved into a part of JAXP 1.3, which is now a part of J2SE 5.0.

JARV interface at SourceForge
General information, documents, and downloads.
JARV driver of Xerces-2
This allows you to use only the XML Schema validation engine of Xerces-2.
J2SE 1.5 (Tiger) adaptor
A small adaptor that lets you use any of the JARV implementations to be used as engines that implement javax.xml.validation.

Java

Projects that I work on.

Dalma
Workflow engine that uses continuation.
Hudson
Extensible continuous integration engine.
stapler
More intuitive URL-resource mapping library for the web tier.
com4j
Java <-> COM bridge made easier with new J2SE 5.0 features.
parse-ipr
The IntelliJ IDEA version of parse-dot-classpath.
Parallel JUnit
A small library that lets you run JUnit tests in parallel.
parse-dot-classpath
A tiny tool to set your CLASSPATH env variable from Eclipse's .classpath file.
sfx4j
Packs a jar file into a class file. Convenient for installers.
args4j
Java command line parsing library. I know, the name is cheesy.
java.net tasks
A Java library for automating various tasks for java.net
XMLPULL API JAXP adaptor
A small jar file that lets you use a pull parser as a JAXP-compatible SAX parser.
Gzip support for Java XML processing
A small set of utility classes that makes it easier to use gzip-compressed stream for XML processing.
XSLTC helper classes
Utility code that makes it easy to use Apache XSLTC from your application. XSLTC is a good tool, but it definitely needs to be made easier to use.
Java bzip2 compression/decompression library
The code extracted from Apache Ant.
Generic Syntax Colorizer
Framework for building sytanx colorizers.
Java Property Editor for Japanese
Simple Java property editor that automatically handles Unicode character escape.

Games

FreeTrain

A teach-myself-dotnet open-source train simulator game. It is a poor-man's clone of the famous game "take the A train" by ARTDINK. The version that I developed is only available in Japanese, but recently a group of interested people took it to SourceForge for futher development and English translation.

.NET

DirectShow Type Library and .NET Interop DLL
COM type library for DirectShow

Misc

Other by-products or tools that I wrote.

Video clip capture tool
A tool for capturing video clips from digital video camcorders.
WaitForChange
A tool for automatically running some programs every time you save a file (download)
cvsweb script
A tiny shell script to help you get to the right CVSWeb/ViewCVS page.
flex++/bison++ for Win32
flex++/bison++ binaries for Win32.
Symbolic link tool for Windows 2000/XP
A shell extension that allows you to use UNIX-like symbolic links.
IMAP4 to POP3 protocol gateway
This tool allows you to access IMAP4 server from IMAP4-unaware mailer.
Improved Tomita Parser
An implementation of the Tomita's parsing algorithm. A fully-generic CFG parser. Primarily for Natural Language Processing.

Work at Sun

I'm working at Sun Microsystems right now and here are things that I'm involved:

Sun Multi-Schema Validator (MSV)
XML validator that supports various schema languages.
Sun XML Datatypes Library (XSDLib)
XML Schema datatypes implementation as a reusable library.
RELAX NG + Schematron
A tool that allows Schematron to be combined with RELAX NG.
XML instance generator
A tool that generates XML documents from a schema file. Supports various schema languages.
RELAX NG converter
A tool to convert schemas written in various schema languages to their equivalent in RELAX NG.
JAXB (Java Architecture for XML Binding)
A data-binding tool for Java. Supports RELAX NG and DTD, but you can use it with W3C XML Schema if you are one of those unlucky people. I'm mostly working on the implementation.
JAXP 1.3
A new version of the parser API. I'm a part-timer on this and working on the validation API based on JARV (both spec and implementation.)
StAX utility project
Utility code around StAX.
java.net e-mail monitor
Measures the delivery delay of e-mails in java.net.
JAX-WS
I led the design of the new architecture in the JAX-WS RI 2.1 and involved in various parts of implementations. I'm also working on various extensions.
codemodel
Programatic java code generation library originally used in the JAXB RI, now available as a stand-alone project.
[Blue Ribbon Campaign icon]