Skip to main content

Kohsuke Kawaguchi

Kohsuke Kawaguchi is a senior staff engineer at Sun Microsystems. He has been working on XML and XML schema languages since 2001, in particular RELAX NG, W3C XML Schema, JAXB, and JAXP. He also hosts many projects on java.net, such as Hudson. More information on him can be found at http://www.kohsuke.org/.
 

Weblogs

Dalma is a workflow engine that lets you write conversational programs quickly. In my last...

Different Output Media

The most basic notion of the marshalling is to take a JAXB-bound object that has @XmlRootElement, and write it out as a whole XML document.

So...

Many applications of today need to have a part of the program that waits for other entities. For example, a mailing list manager waits for an e-mail to trigger actions. A web application waits...

Many XML parser APIs accept InputStream or Reader. For example, JAXB unmarshaller has unmarshal(InputStream), StAX has XMLInputFactory.createStreamReader(InputStream...

Sometimes when you are binding your own classes to XML, you hit with a situation where your class representation doesn't quite match what you'd like to see in the XML. Some other times, some of...

Since I wrote the last blog entry about the maven java.net plugin, Ross Bamford joined the development, and we've been working on the...

I have a lot of projects on java.net, so I needed a way to simplify the project management. That's why I came up with...

I just found that there's a project on SourceForge that provides a Java API to invoke Google desktop search.

The reason I'm writing about this...

FastInfoset implementats SAX and StAX interfaces. This allows any XML technologies to be used with FastInfoset provided that they support either SAX or StAX...

Friday has always been a good time for making performance improvements for me, for some reason. Today, its target was javax.xml.datatype.XMLGregorianCalendar class.

One of our...

Ryan and I launched another service to make it easy to own a project in java.net.

One of the things that we didn't like...

When you are working with JAXB-bound classes, it's sometimes convenient to be able to parse those JAXB annotations by yourself. For example, some people are interested in implementing a subset of...

The initial version of the JAXB RI unmarshaller was written for 1.0 for more than 2 years ago, and that was based on my experience working with a databinding tool called...

ID/IDREF has been with XML since its very first day. It works nicely with databinding tools, because it's easy to do a type analysis with ID/IDREF In this regard, key/keyref in XML Schema is much...

Nowadays many Java tools need to access HTTP resources. For example, Ant has a <get> task, Maven needs to download jar files, javadoc needs to locate package-list from a remote site,...

Today, I've heard from JAXB's internal customers that they had a successful transition from JAXB 1.0 to 2.0. It was from Rebecca Searls, who's working on the migration tool of Sun Java System...

Good commenting always make it easier to understand the source code (although people have different opinions about what exactly is good comments.) As such, one of the things we've been doing is...

I just had a frustrating hour or so with Subversion. No, it's not that I have problems with its functionality (well, I actually do, but today isn't time to talk about that.) It's the lack of...

Well, I kind of know the XML code inside out ;-), so I knew beforehand that a SAX parser closes the stream it reads. So I just mostly wrote a simple program to confirm the socket behavior. Also,...

Yesterday, one of the JAXB users sent me an e-mail, asking for how to solve the problem he faced.

The scenario was like this; you have a client and a server, and you want a client to send...

The JAXB RI distribution ships with xjc.sh and xjc.bat for invoking XJC from a command prompt. JWSDP also has xjc.sh and xjc.bat, but their contents are different.

I'm sure these files...

JAXB RI has a plug-in mechanism to allow 3rd parties to extend its code generation behavior.
In 1.0, projects like HyperJAXB and...

Step 1: Download

The first thing I did was to download the MathML schema into my local disk. You can compile a remote schema by running XJC like:

$ xjc...

Parsing command line options in your program has always been a boring work; you loop through String[] and write a whole bunch of arg.equals("-foo") and arg.equals("-bar"). There...

Many people seem to have trouble understanding XmlAdapter/XmlJavaTypeAdapter.
I think it's at least partially because of the lack of documentation/samples,
but it might be that there'...

Last Friday, Ryan and I spent most of the day to bring the source code of the JAXB RI from Sun's internal CVS repository to java.net. It wasn't a simple CVS import because we need to retain a...

The past month has been hectic for me, between my wife delivering a baby and me delivering the JAXB RI 2.0 EA. I lost the race by about a month, but finally today we released...

Introduction

JAXB 2.0 is primarily a persistence technology; it walks through a graph of POJOs, then it produces the equivalent XML representation, much like Java serialization.
...

One of the major enhancements in the JAXB 2.0 is an ability to bind your own hand-written classes --- often called as POJOs --- to XML. And it's very easy.