Basic XSLT Logo Logo
Basic XSLT Homepage -> Feature List SourceForge Project Page | Download Page

Feature List

  • Dynamically add, insert or remove XSL stylesheets from the transform chain
  • The result of transforming the input XML file using the first enabled XSL stylesheet will be transformed using the next enabled XSL stylesheet (assuming the result of the first transform is XML). The GUI allows stylesheets to be inserted using the "->" buttons, added or removed.

  • Leverages Apache Jakarta Commons Virtual File System (VFS)
  • For both the input XML and source XSL stylesheets, you can specify any allowable URI as per the Apache Jakarta Commons VFS subsystem including the following resource types:

    • local files
    • FTP
    • HTTP

  • Dynamically toggle stylesheets on or off
  • Stylesheets toggled off will not be included in the transform chain. This allows the user to not include a stylesheet from the transform chain without having to completely remove the stylesheet.

  • Validate XML file and XSL stylesheets - get detailed validation error information
  • The input XML file as well as the XSL stylesheets can each be easily validated using the "Take Action..." dropdowns. The XML is validated using the JAXP SAX parser. You can set the validation level using the validation (Alt-d) menu to "Warnings", "Errors" or "Fatal Errors". If an XML file is not well-formed or valid, a dialog will display the validation error message as well as the column and line numbers.

  • Add parameters to each XSL stylesheet in the transform chain
  • Each stylesheet row contains a "Take Action..." drop down. The "Parameters" action brings up a window that allows the user to add parameters for the stylesheet. Each parameter has a name, a value and optionally a namespace URI. The "Clear Parameters" action clears the parameters for the stylesheet.

  • Set the output properties for each XSL stylesheet in the transform chain
  • The "Output Properties" action from the "Take Action..." drop down brings up a window that allows the user to set the output properties (see section 16 of the XSL Transformations (XSLT) W3C Recommendation for more information on transform output properties). The "Clear Output Properties" action does exactly what it sounds like it does - it clears the output properties for the stylesheet.

  • View transform result in output window using interactive tree control
  • When a transformed is performed, the final result is display in a new window using a tree control. A tree control is only used if the final result is XML; if the result is not XML, the result is displayed as text in the output window.

  • Create multiple configurations - saving the state of the GUI
  • The state of the GUI is persisted to a properties file located in the user's home directory each time the tool is shutdown or the configuration is manually saved using the File -> Save Configuration menu item. Imagine you have an input XML file that is being transformed using several XSL stylesheets. You carefully inputted all of the parameters and output properties for each stylesheet and have set the validation level to "Errors." Furthermore, you have the GUI setup so that the output window is suppressed and the final transform result is to be written to some file. The process of setting up the GUI for this scenario may take several minutes. When you shutdown the application, you don't want these settings forgotten - I.e., you don't want to have to input all of this data into the GUI the next time you launch the tool. Basic XSLT remembers all of the data within the GUI so that the next time you launch the tool, the GUI will automatically initialize itself to the same state from when it was last shutdown. Also, you can associate the GUI state with a configuration; a configuration has a name and stores the collective state of the GUI. You may be working on several different projects that involve XSL transformations; with Basic XSLT, you can create multiple configurations and load them at runtime. When you save a configuration, you simply enter a name. When loading a configuration, you select the configuration from a dropdown. Loading a configuration will cause the Basic XSLT to re-load itself based on the selected configuration. The goal here is to minimize the amount of time the user has to hunt their file system for input files and trying to remember which stylesheets need what parameters and output properties.

  • Transform timings recorded and displayed
  • Each time a transform is performed, the transform time (in milliseconds) is recorded. At the bottom of the GUI, the total transform time (the summation of each of the transform time within the chain) is displayed. The transform time of each stylesheet can be viewed via the View -> Last-Transform Timings Detail menuitem. The transform timings detail can also be viewed using the same menuitem from the output window

  • Autosave transform result / Suppress output window
  • One common use of XSLT is to transform XML into HTML. Having a browser open pointed to a file on the filesystem can be refreshed after each transform to quickly see the results of the transform. Basic XSLT works well in this model in that there is a checkbox on the main screen to specify the result be autosaved to a file. Set the autosave file to the same file pointed to by the browser. Use the Suppress Output Window checkbox to suppress the output window so that you're not bothered by it - this allows for the easy viewing of the html transform result by alt-tabbing to the browser and refreshing.

  • Internationalization Support (i18n)
  • Basic XSLT currently supports the english language but is implemented such that it is easy to add support for additional languages. Basic XSLT makes use of a property-file-based resource bundle which minimizes the complexity associated with adding additional language support.

  • Java Web Start support
  • Basic XSLT can be launched using Java Web Start or any other implementation of JNLP. A link is provided on the homepage toward the bottom of the page.

  • Log4j logging
  • Basic XSLT writes a log file to the ".basicxslt/logs" folder off of the user's home directory. If you experience an application error, please submit a bug item through the SourceForge project page and attach your log file to the bug item.

Last Update: 2006-07-27 Maintained by Paul Evans