TeXSLMate - My first TextMate PlugIn
![]()
TeXSLMate 0.9 - turn TextMate into an XSLT/XQuery debugger.
TeXSLMate is my first (although certainly not last) attempt at creating a TextMate PlugIn. Accoring to this page, there are currently only 3 other TextMate plugins.
TeXSLMate is basically a port of my XSLPalette application to a special palette which is available within TextMate. However, while XSLPalette allows you to choose from multiple XSLT and XQuery engines (including several Java ones), I’ve limited TeXSLMate to just libxslt for XSLT and NSXML for XQuery for now. These two toolkits are available on Mac OS X Tiger out of the box. Also, while XSLPalette was its own application, TeXSLMate is a plugin run entirely within TextMate’s process… I’m a very conscious of the fact that memory bloat or bad behavior from TeXSLMate could cause users to erroneously blame TextMate or its problems. So creating and tearing down a JVM within TextMate’s process space seemed like not such a good idea (at least for now).
So TeXSLMate is all about allowing you to edit and debug XSLT stylesheets and XQuery programs more easily from TextMate. Here’s how:
- Install TeXSLMate PlugIn.
- Begin editing an XSLT stylehseet or XQuery program in TextMate (TeXSLMate will always try to use your frontmost TextMate document as the stylesheet or query to be executed).
- From the TextMate Window menu, select Show TeXSLMate palette.
- In the TeXSLMate palette, select your source XML document by clicking Browse and selecting from the filesystem.
- Select XSLT or XQuery as your engine type (depending on which type you are editing).
- Optionally enter external params/arguments to your stylesheet/query using the Params table.
- Click the Transform button to execute your stylesheet/query against the source document.
- Notice error and log (<xsl:message>) messages are displayed in the palette’s console.
- View the raw, pretty or rendered transformation/query results in the palette’s tabbed view.

No comments
Jump to comment form | comments rss [?] | trackback uri [?]