Treebeard FAQ
- Q:. I downloaded a different parser, but Treebeard doesn't seem to see it - even in my CLASSPATH
- Q:. Is Treebeard the best XSLT IDE?
- Q:. What makes Treebeard different from other XSLT IDEs?
- Q:. Can I set breakpoints and variable watches in Treebeard?
- Q:. What is the largest XML file Treebeard can transform?
- Q:. What is cfx_treebeard?
- Q:. What the heck is an Ent?
- Q:. What are the minimum system requirements?
- Q:. Are there yearly maintenance or support fees?
- Q:. Can Treebeard support network file paths?
- Q:. Does it support both DTD and Schema validation?
- Q:. Can it open an unmarked file and then specify DTD or Schema?
- Q:. Does it support macros?
- Q:. Can you run Treebeard as an Applet or use the Web Start thing?
- Q:. Where did cfx_treebeard go?
- Q:. When the transformer reports an error with a line number, how does one find the line number in the XSLT window?
Q:. | I downloaded a different parser, but Treebeard doesn't seem to see it - even in my CLASSPATH | |||||||
A:. | if you downloaded one of the installer versions, this may come up. Making things easier often times makes programs less powerful. The installed versions run in an enclosed environment (they don't pay attention to the environment variables). To add files to what Treebeard thinks is your class path edit the file Fangorn.lax in the Treebeard directory and edit the portion: # LAX.CLASS.PATH # -------------- # the Java classpath necessary to run this application # Can be separated by colons (Mac OS/Unix) or semicolons (Windows) lax.class.path=xmlParserAPIs.jar:regexp.jar:treebeard.jar:xercesImpl.jar:xml-apis.jar:xalan.jar:$ENV_CLASSPATH$:lax.jar Noteif you have the variable $ENV_CLASSPATH$ Treebeard looks in your CLASSPATH variable (newer versions only) | |||||||
Q:. | Is Treebeard the best XSLT IDE? | |||||||
A:. | Well, that depends on what you are doing. If you are looking for a program that allows you to build style sheets without witting code - then Treebeard is a bad choice. If you need a program to help you build schemas or DTDs - Treebeard may not be the best choice. If you want to use the Microsoft XML family of products - Treebeard won't help you a bit. Treebeard was designed to help people write XSLTs - and only XSLTs. Every feature is added with an XSLT focus. So if you want to get closer to your XSLT code, and not lose your relationship with your chosen Java XSLT transformer - Treebeard is pretty cool (plus it's free and it wont expire in 30 days). | |||||||
Q:. | What makes Treebeard different from other XSLT IDEs? | |||||||
A:. | I like code, I like witting code, and I like tools that help me write code. Most of the XSLT tools out there use an HTML syntax highlighting engine which, to me, makes no sense for XSLT. It seems silly to me that most of the needed highlighting is the same color. Variables, functions, operators, and Xpaths all grouped together as "an attribute". Where do you think most of your errors might happen? Treebeard on the other hand has a custom highlighting engine (based on JEdit), and highlights XSLT specific items. I also like the fact that Treebeard runs on Linux, MacOSX, and Windows - and it can use several parsers at the same time. There are many other reasons why Treebeard is totally different then the other IDEs out there. Download it and see for yourself. | |||||||
Q:. | Can I set breakpoints and variable watches in Treebeard? | |||||||
A:. | Kind of, but it's not as slick as with some other IDEs. One of Treebeard's design goals is to allow plug-able transformers. While some transformers have hooks to set breakpoints and such, if i capitalized on a certain transformer then the plug-able nature would suffer. You can emulate breakpoints and simple variable watches with XSLT though, and I find this does the job most of the time. If you add code such as the following: <xsl:message terminate="yes"><xsl:value-of select="$watchedvar"/></xsl:message> You can simulate a breakpoint and a dump. This will output the value-of statement to the std err Ent. Similarly: <xsl:message terminate="no"><xsl:value-of select="$watchedvar"/></xsl:message> is helpful in recursive templates. This, again, sends the variable to the std err Ent but doesn't stop processing. Finally, you can combine xsl:message with an <xsl:if test=""> statement to fine tune your debugging. I am working on a way to add breakpoints with the IDE. | |||||||
Q:. | What is the largest XML file Treebeard can transform? | |||||||
A:. | The question, perhaps, should be adjusted to "What is the largest XML file [transformer name] can transform on a [operating system] box with [computer specs] ?". I have used a 4.0MB complex XML document (many levels) on a Windows 2000 box with 64MB of RAM, and Treebeard didn't skip a beat. Of course, it did a lot better on my dual Pentium Linux box with 512MB of RAM. I would estimate Treebeard could handle a 10MB file (using reference only) on a typical modern day PC. Though if you are using files over 10MB, I think you might need a DBMS (database management system) more so then a XSLT IDE. You can also increase Treebeard's chances of transforming large documents by increasing the maximum heap size by adding the switch -Xmx[amount]m to the JRE. For example, java -Xmx256m etc... gives Treebeard 256MB. | |||||||
Q:. | What is cfx_treebeard? | |||||||
A:. | Macromedia's Cold Fusion product allows for what are called "custom tags". These allow extended functionally to their product. cfx_treebeard is Treebeard's transforming code rewritten to work in Cold Fusion. If you do not use Cold Fusion, pay it no mind. | |||||||
Q:. | What the heck is an Ent? | |||||||
A:. | Treebeard is named after a character in The Two Towers and most names of things in Treebeard kind of followed suit. Why? Well, it's actually quite a stupid reason. I was trying to figure out a name for my 3 windowed program so I grabbed the closest book. I randomly opened it to a page, and used the first name I came across in the paragraph. When I started pondering the name I came across, Treebeard, I thought of all the similarities between Treebeard and XML / XSLT. Here are a few:
| |||||||
Q:. | What are the minimum system requirements? | |||||||
A:. | Any computer with a GUI interface and the ability to run JRE 1.4 or higher should be fine. If you don't know what that means, and you are running windows, whatever you have is fine. Just make sure to download the JRE (Java Runtime Environment) version 1.4 or higher from Sun. | |||||||
Q:. | Are there yearly maintenance or support fees? | |||||||
A:. | No. Treebeard is open source and Free. There are no fees of any kind to use the software. If you find Treebeard useful, it would be nice of you to donate or sponsor the project, but that is voluntary. Support is on a "when I can" basis - unless you've donated - then it's "when I can" double plus. | |||||||
Q:. | Can Treebeard support network file paths? | |||||||
A:. | Treebeard supports HTTP and HTTPS protocols as well as normal file system browsing type file opening - meaning that NFS mounts should be fine. On windows the \\server\file.xml path specification is not supported. If you require access windows network files, you can map a drive - see the windows documentation if you do not know how to do that. | |||||||
Q:. | Does it support both DTD and Schema validation? | |||||||
A:. | Treebeard only supports DTD validation at present. Treebeard's main goal is to allow it use any transformer or parser that conforms to TrAX and JAXP respectively. At present I do not know of a standard way to implement Schema validation (like TrAX or JAXP). Please let me know if there is one. However, it is important to note Treebeard is not an XML editor by nature it is an XSLT editor. | |||||||
Q:. | Can it open an unmarked file and then specify DTD or Schema? | |||||||
A:. | Yes. Treebeard can open any kind of text file - well formed XML or an INI file. What you do with it after that is up to you. | |||||||
Q:. | Does it support macros? | |||||||
A:. | No, Treebeard does not support macros. | |||||||
Q:. | Can you run Treebeard as an Applet or use the Web Start thing? | |||||||
A:. | No. | |||||||
Q:. | Where did cfx_treebeard go? | |||||||
A:. | In an effort to eat on a regular basis I am now selling cfx_treebeard. It is still (and always will be) under the GPL license so if you are using it fear not. You do not have to send me money if you are using the tag, and if you have it, you own it. I am not going to act like the little SCO wankers - give stuff away then demand it back; however, you're on your own with support unless you want to buy it. | |||||||
Q:. | When the transformer reports an error with a line number, how does one find the line number in the XSLT window? | |||||||
A:. | If you right click in the XSLT (or Ctrl+g) there is a "Go to line..." dialog. Enter in the line number, click "OK", and the editor will go to that line. |