What XML Tools Do You Use?
Omega1045 asks: "What XML tools do you use? XML Spy? EditPad? A pen, notepad, scanner, and a good OCR program? XML is now becoming more than just hype. XML, SOAP Web Services, and Enterprise Integration (EI) are really taking off from the number and type of contract opportunities I am seeing and receiving. Until recently, I was doing most of my XML by hand. Other than the nostalgia for those early HTML days, it is really eating into my time. I have started trying XML Spy, but to buy it will be a big hit in the wallet (which I am willing to do if it is the best thing out there). What does Slashdot recommend?"
I have worked with XMLSpy and have to say working with UltraEdit is far more pleasant.
I use xmlspy at work, and it really is the best thing I have tried.
Particularly the schema editor and the Authentic component (which is now free (as in beer)).
In litteraly no time you can throw together a complex schema and make a nice gui interface for entering data which validates against said schema.
It is definitely pricey and I can't say that I would have bought it for myself, but if you have to deal with a lot of XML then it is truly worth it.
First post?
I built an entire web-based interactive Expo map using Sodipodi (sodipodi.sourceforge.net). It was very easy to edit the native XML code (actually, SVG). I found the combination of Sodipodi and vi was as powerful and far more flexible in terms of optimizing the resultant code (e.g. search and replace ¯os) than a proprietary structured program like Illustrator.
God, I can't say enough about how cool Sodipodi has become.
Good luck finding a proper viewer for the interactive code, however. Mozilla+svg has not even been of alpha quality-- all proofing had to be in Windows, IE + Adobe's SVG Viewer.
A strong consesus is emerging around a new standard.
and xmllint.
http://www.naildrivin5.com/davec
Being a Tcl guy, I use tDOM. It has the fastest XSLT engine that I know of.
-- Don't Tase me, bro!
Not really hype. XML is extremely useful to exchange information between programs (eg on networks) without having to reinvent the wheel all the time. Personally, that's what I use it for. The fact that you can use it for config files and such is just a nice bonus.
As for editing XML, I find that most of the time I'm manipulating XML programmatically, using JDOM, or using other libraries that manipulate XML themselves - I have yet to need to do serious hand-editing in XML. And even for that, I would think vi or jEdit are perfectly adequate tools.
Daniel
Carpe Diem
Xerlin is an Editor, its fairly basic and needs improvment but it usually works good.
http://www.xerlin.org
Saxon is an XSLT processor
http://saxon.sourceforge.net/
and hey they are both open source and based on java.
--meh--
jEdit is what I use. It's Free Software, and runs great on Linux. It includes syntax highlighting, XML Schema validation, XML Insert (auto-completion, prompting from schema), XPath evaluation, and XSLT transformation. This functionality is built ontop of the great Apache XML tools - so it is quite complete and interoperable.
jEdit is also great for more than just XML too! I used to be mainly an Emacs user - but I spend my days in Eclipse (for Java and C++) and jEdit (for everything else) now.
from XMLMind (free/beer). They also have a very nice FOP->RTF converter (works ten times better than JFOR). Then again, I speak from document writing poitn of view, hence YMMV...
--AP
I've tried few editors, but VIM (with scripting for folding and automatic adding of end-tags) is best I've found for both my XML and XHTML needs.
Software should be free as in speech, but if we also get some free beer, all the better.
If you're engineering a lot of schemas, transforms, and other XML weirdnesses, XMLSpy is probably the most cost-effective tool there is, despite its high cost. But I've always found it inadequate for content editing. Which is my interest, since I'm a tech writer.
Everybody with a little Java knowledge and access to a component library has written a half-assed XML content editor. But only two editing tools seem to be worth bothering with: XMetal and FrameMaker.
XMetal is very well designed. I was able to make it grok Docbook just by pointing it a the correct DTD. Unfortunately, it's Windows only. And it now belongs to Corel, which doesn't make one optimistic about its future.
Adobe now provides the "structured" version of FrameMaker for no extra charge when you buy the regular SKU. And FrameMaker runs on Windows and most Unixes. (Not Linux, alas.) Problems: the worst UI design in the universe. And defining new XML applications is a nightmare.
For editing raw XML documents, I use XEmacs. It has a nice DTD parser which you can use to show you what elements/attributes are valid in the current context. So if I'm editing XHTML, I can C-c to insert a tag. It shows what tags are valid, and you can tab-complete. C-c + allows me to insert an attribute, and it again shows which are valid and allows for tab-completion.
/. Very handy, since it will close the last open tag. If you have a big structure, you can just C-c / your way through it without having to scroll up or (gasp) remember the tag order.
To close a tag is a simple matter of C-c
Oh, and when you use C-c to insert tags, it automatically sticks it on the next line and indents it.
It's not for everybody, but it sure works great for me.
It probably doesn't have all the features of XML Spy but it works pretty well. I use it occasionally for debugging Xpath and XSLT.
Might be worth a look.
Learn to Improvise
Someone has already mentioned jEdit as a Java editor with useful XML/XSL plugins. I'd add, especially for Mac OS X users, the oXygen XML editor, also Java-based, which provides a very comfortable editing environment with tag autocompletion and built in well-formedness checking and validation (including for XHTML documents, making it a nice Web editor as well). It supports XPath queries, has a built-in DTD generator [from well-formed XML], has a tree structure editor, and more. It's proprietary but not expensive.
Since you went to XMLSpy first, I assume you're not comfortable with the emacs keybindings. In that case, try XMLWriter before XMLSpy. It's much cheaper. If that does everything you need, great. If not, I'd really suggest trying a Windows build of emacs with PSGML, Xalan, etc. If you prefer XMLSpy to emacs, that's fine, but try out the cheaper, or OSS, tools first to spare your own wallet.
Finally, if all you're really doing is a lot of web-oriented stuff like RSS, try HTML-Kit, which has XML-oriented plugins that hook into parsers and transformation engines.
Secondly, it's based on SGML, which is a standard, and is very stable, so questions of volatility simply don't arise. You can quite happily base a project on XML: while it may one day be supplanted, it can easily be transformed into a new format, unlike Java :-)
What software you want to use depends on what you want to do. If you're doing "data" type XML for e-commerce, then XML Spy or InfoPath will be good. If on the other hand you're doing traditional "document" publishing, you need a proper text editor like XMetaL (Corel), EPIC (Arbortext), epcEdit (www.epcedit.com), WordPerfect XML (Corel again), or even at a pinch, the new StarOffice 6.1b or Word-11 when it arrives. And of course, Emacs.
Whether you like Emacs or not, it is unquestionably the most reliable and simplest to use. The psgml-mode and xml-mode or xxml-mode provide a hugely functional XML editor, with context-sensitive markup menus, colorized tags, and (with SP/nsgmls) full validation. The tdtd-mode provides DTD editing, and xslide-mode is a complete IDE for XSLT stylesheets. It won't cost you anything and it runs on all modern platforms.
XML is also a bandwagon: many companies are grotesquely misusing it because they haven't bothered to find out what it's really for, and many other companies are failing to use it where they ought to be, for the same reason. But that's life.