| MITRE | TransforMiiX TM

TransforMiiX is an XSLT processor which is not yet complete, but supports a good portion of the XSLT 1.0 recommendation.

TransforMiiX was designed to be a "standalone" XSLT processor. This means you can call the processor from the command line, or via the XSLProcessor API. The only thing TransforMiiX requires is an XML parser, and the currently supported parser is Expat written by James Clark.

There is currently an effort undergoing to integrate TransforMiiX with Mozilla. This effort is not yet complete and therefor the XSLT processor cannot yet be used within the Mozilla browser. Integration is nearing completion, however.

Running TransforMiiX from the command line

The command line syntax is pretty straight forward:

example: transfrmx -i my.xml -s my.xsl -o my.out

This will process the XML source file called "my.xml" using the "my.xsl" XSLT stylesheet, and the result will be placed in "my.out". The "-s" flag is not required if the XSLT stylesheet is specified inside the XML source document using the "xml-stylesheet" PI (processing instruction).

The stylesheet PI, should appear below the XML declaration ("<?xml version="1.0"?>").

example:

    <?xml version="1.0"?>
    <?xml-stylesheet href="my.xsl" type="text/xsl"?>
    <document>
       ...
    </document>

The command line program is in "source/main/transformiix.cpp" and is simply a wrapper for "source/xsl/XSLProcessor.cpp" which is the TransforMiiX API.

Feel free to run the examples in the "source/examples" directory, they are a good example of what has been implemented so far in TransforMiiX.

What is the current status of TransforMiiX?

You can check the current status by looking three main files:

- changes.txt - lists the changes from different builds
- remaining.txt - lists what needs to be implemented.
- known-issues.html - lists known bugs or issues.
  -- this is a little out of date...sorry.

What can I do to help finish the implementation of TransforMiiX?

There are a number of things that can be done:

Development

1. Check out the source code, build it.
2. Use it.
3. Familiarize yourself with the code.
4. Look at the the "to-do" or "known issues" list and choose something that you would like to work on.
5. If it's a large task, notify us that you are working on a task or issue, or would like to contribute to the existing effort of a specific task.
   If it's a simple change you may contact us first to make sure you are not duplicating effort, or feel free to just make the changes.
6. If you have CVS commit status, commit your code, otherwise submit your code to be integrated to us.
   Please do a "cvs update" to make sure you have the latest changes, and that your changes work with any code changes that might have occured during your development.

Bug Reporting

1. Check out the source code, build it.
2. Use it.
3. Submit any bugs to the mailing list [netscape.public.mozilla.layout.xslt] or directly to us.

Documentation

1. Check out the source code, build it.
2. Use it.
3. Find something that's not documented - pretty easy to do at this point.
4. Document #3.
5. If you have commit status, commit your documentation, otherwise submit your documentation directly to us.

Miscellaneous (but important)
-- I just wouldn't be myself if I didn't add these! -- Keith :-)

1. Get me a date with Claudia Schiffer or Kelly Hu.
2. Get me some coffee!

The MITRE Corporation, Keith Visco (C) Copyright 1999, All rights reserved
Email: Keith Visco, Tom Kneeland