Transform App

Fusing XML and XSLT - the easy way!

Transform works with your favorite IDE or text editor to provide live XSLT transformations. Simply select a XML and XSLT source file, and Transform will show you the result in either a raw source or web view. Not only that, it will watch these files for changes, and update the output automatically, creating an efficient work flow for developing XSLT scripts.

Available on The Mac App Store

Packed with Features

  • Instant XML/XSLT file validation - Everyone makes mistakes, and Transform will quickly pick-up on this and let you know if something is not right.
  • Instant transformation preview - Transform watches your linked files and automatically updates the transformation preview, so you can spend less time on repetitive reloading, and more time on awesome tinkering.
  • Error notification - Transform can be configured to bounce the dock icon if a validation or transformation error occurs, informing you to recheck the output.
  • Basic EXSLT support - Any EXSLT functions which are supported by libxslt will work out of the box. See the EXSLT website for details.
  • Retina support - Working on one of those sweet new retina MacBook Pro's? All of Transform's graphics are pixel perfect on a retina display.
  • Dual output source and web views - A common task when developing with XSLT is to produce HTML output. Transform has a built in browser, and gives you the ability to view the output in a live intractable web frame.
  • Syntax highlighting - By default Transform will attempt to markup the output source in a common IDE color scheme. Working with plain text? No problem, you can easily toggle this feature off.
  • Line numbers - Toggleable line numbers in source view.
  • Customizable source view font - Don't like 13pt Courier? Set your own source view font. Tip: fixed width fonts look best.
  • Customizable base url - When working with the web view, you can set a base URL to a web or file location. This will allow you to load relative resources related to the HTML output.
  • Unlimited simultaneous previews - Working on more then one XSLT file at once? No problem, there is no limit on how many simultaneous transformation windows you have open at once.
  • Full screen mode - Let your work fill the whole screen in the native full screen mode.
  • Minimalist interface - Transform was designed to stay out of your way as much as possible, showing you only what you need to get the job done.
  • Output printing - Want to print off your output to stick on the fridge? Transform will let you do that.
  • A beautiful app icon - If an app is going to spend a lot of active time on your dock, you want it to look gorgeous.
  • Support for 10.7 (Lion) - Rawrrrrr.

Help and FAQs

Below are some answers to common questions. For additional help, contact support.

What do the indicator lights mean?
The indicator lights show if the selected source files are valid XML. Both the XML and XSLT file must be valid XML for the transform to occur.
Both indicator lights are green but an error still occurred, why?
The lights are indicating that both documents are individually valid XML, but an error may still occur during transformation. This usually occurs when an unknown function occurs.
How do I select an XML file with a non-xml file extension such as .html, .rss?
The file selector only allows you to open files of system known XML file types. To force Transform to open any file of your choosing, hold down the alt (option) key when clicking the XML or XSLT indicator button.
Why do I get an error when using <xsl:import>?
Transform is a 'sandboxed' app, meaning it can only access files that have been explicitly opened by the user. You might receive an error when using XSLT imports/includes like this:
Operation not permitted
warning :
failed to load external entity 
To workaround this problem, the external file needs to be granted access permission. To do this, select Edit > "Grant file access permission" from the menu, and select the imported file or parent folder.
What XSLT library is used to perform the transformation?
The amazingly fast libxslt.
Does it support XSLT 2.0?
Transform is powered by libxslt which currently does not support this.
Do all EXSLT functions work?
Libxslt implements most (but not all) of the EXSLT extension library. See the EXSLT website for the list of implemented functions.
When using the web view how do I specify the base URL for my HTML output?
Click the settings gear in the bottom right-hand window to add a web URL or file address to be used as the base URL.
Oh no, the application crashed, what should I do?
Oh dear. Transform has been painstakingly designed for fast and stable use. In the unlikely event of a crash, we want to fix it. First up, ensure you are running the latest version of the app by checking the app store for updates. If you able to, send a copy of the crash report and steps to reproduce the problem to the support email address listed below.
Do you accept requests for new features?
Of course! Transform was built to be used by intelligent developers. If you have an idea for a killer feature, send me an email to the support address below.
Why is this app so expensive?
I genuinely hope you don't feel this way when using Transform. Although simplistic in appearance, Transform has a lot of advanced technology under-the-hood, which was delicately crafted over many months of development. I actually consider the app to be conservative in its pricing, and by real world comparison, it's less than the cost of beer at my local pub.


Having trouble, or want to suggest a feature?

Email: transformapp (at)

Follow @TransformApp on Twitter for announcements.