import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;

public class Styler {
  public static void main(String[] args) throws Exception {
    TransformerFactory factory = TransformerFactory.newInstance();

    // determine selection criteria for stylesheet
    String media = null;
    String title = null;
    String charset = null;

    // determine the source, result, and stylesheet to use
    StreamSource source = new StreamSource(args[0]);
    SAXResult result = new SAXResult(new Writer());
    Source stylesheet = factory.getAssociatedStylesheet(source,media,title,charset);

    // Create transformer based on the stylesheet declared.  If no stylesheet
    // is declared, use a null transformation
    Transformer transformer;
    if (stylesheet != null) {
      transformer = factory.newTransformer(stylesheet);
    } else {
      transformer = factory.newTransformer();
    }

    // Actually perform the transform
    transformer.transform(source,result);
  }
}
