As Michael said it really depends on what your requirements are. DOM and SAX are two "basic" APIs, and DOM even enjoys W3C standard status. There are other APIs that were designed to simplify XML processing, such as JDOM, or JAXB - maybe they will suffice and you do not need to learn "heavy-weight" DOM and SAX
XSLT has nothing to do with Java, so if you are only interested in learning programming APIs, you can skip it. But it's very cool tool for XML transformations and quering; and it's usage overlaps with DOM/SAX, so perhaps again you get a chance not to learn them
Or it can be a good supplement to your Java programs; it allows externalize presentation and even processing logic, so if any of these changes, you do not need to recompile your Java code.
CSS is client-side presentation technology, and as such is of little interest for programmers.
If you are interested in learning "Java and XML" in general, without any momentary task in mind, there are lots of articles that will give you an idea what each technology is good for. Then you can choose which you are interested most.
Sun has good overview of Java APIs:
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/overview/3_apis.html Javaworld has good
Java and XML section. Some of their articles:
Easy Java/XML integration with JDOM Use XML data binding to do your laundry (generating Java classes based on DTD and Schema with JAXB and Castor)
XML document processing in Java using XPath and XSLT [ February 05, 2002: Message edited by: Mapraputa Is ]