{"id":294,"date":"2006-02-23T23:20:00","date_gmt":"2006-02-23T23:20:00","guid":{"rendered":"http:\/\/www.sgmlguru.org\/wp\/?p=294"},"modified":"2015-01-14T18:35:32","modified_gmt":"2015-01-14T18:35:32","slug":"yet-another-rant-on-xml-tools","status":"publish","type":"post","link":"http:\/\/www.sgmlguru.org\/wp\/?p=294","title":{"rendered":"Yet Another Rant on XML Tools"},"content":{"rendered":"<p>Being an XML developer isn&#8217;t always easy if you&#8217;re running Linux, not if you aren&#8217;t happy with <span style=\"font-weight: bold;\">emacs<\/span> and <span style=\"font-weight: bold;\">nxml-mode<\/span>. Not that I don&#8217;t like <span style=\"font-weight: bold;\">emacs<\/span>; I do, but there are limits to what it can do. But before I go on, let&#8217;s get some things straight. This post is basically a rant on XML tools so if you aren&#8217;t an XML geek, or if your particular flavour of geek-ishness differs from mine, then go read something else, say, <a href=\"http:\/\/kallokain.blogspot.com\/\">Henrik&#8217;s Ruby articles<\/a>.<\/p>\n<p>So anyway, moving on&#8230; If you develop DTDs, for example, you need something to visualize the DTDs with. I always liked <span style=\"font-weight: bold;\">Near &#038; Far<\/span> from Microstar, even though the product is dead and gone, and it&#8217;s impossible to buy it anywhere. Luckily, I have a copy (which I&#8217;m <span style=\"font-style: italic;\">not<\/span> selling, thank you very much), and even though it&#8217;s Windows software, it runs just fine on Wine\/Linux.<\/p>\n<p>Not that I&#8217;d want to actually create DTDs using <span style=\"font-weight: bold;\">Near &#038; Far<\/span>. It&#8217;s not good enough; for the actual writing, a text editor, say, <span style=\"font-weight: bold;\">emacs<\/span>, is still by far the best choice. <span style=\"font-weight: bold;\">Near &#038; Far<\/span> will ruin any modularization you ever wanted for your DTD, it likes to normalize anything and everything it sees. But for pure visualization, it&#8217;s great.<\/p>\n<p>It&#8217;s somewhat worse with XSL software. There are IDEs for XSLT available for Linux, but most range from bad to awful, and I&#8217;ve given up on all but one of them. The remaining one is ActiveState&#8217;s <span style=\"font-weight: bold;\">Komodo<\/span>, a payware IDE that you can use for your Perl and Python stuff, too. The version I have, 3.01 is somewhat dated, but runs great on my Debian box. And newer versions are supposed to handle Ruby and PHP, too, but don&#8217;t take my word for it.<\/p>\n<p>Unfortunately, it doesn&#8217;t do XSL-FO natively. Sure, you can write your transformations to FO in it but there&#8217;s no help for the target FO namespace, only your basic XSLT. It&#8217;s possible to write a macro to couple your debugging with, say, <span style=\"font-weight: bold;\">FOP<\/span>, to get PDF output right off the bat, but that&#8217;s not the real issue. I want FO namespace help. Context-sensitive help, thank you very much.<\/p>\n<p><span style=\"font-weight: bold;\">XML Spy<\/span> does this help-on-FO-namespace part, but I haven&#8217;t managed to install it; yes, I know it&#8217;s possible because it&#8217;s listed on the various Wine compatibility lists, but I&#8217;ve failed miserably so far. I&#8217;ll try again, one of these days, now that XMetaL finally made it to Linux.<\/p>\n<p>And also, I never liked <span style=\"font-weight: bold;\">XML Spy<\/span>. I know, people hold it in high regard, but I bet all of them are <span style=\"font-style: italic;\">codeheads<\/span> (you can&#8217;t join if you have to ask; I&#8217;m a <span style=\"font-style: italic;\">dochead<\/span> myself). <span style=\"font-weight: bold;\">XML Spy<\/span> is just so&#8230; not document-oriented. It&#8217;s for programmers, the kind I&#8217;m most certainly not.<\/p>\n<p>Then there&#8217;s <span style=\"font-weight: bold;\">Oxygen<\/span>, a payware IDE that is available for Linux as well as Windows. Unfortunately, it&#8217;s yet another tool created for (and by) those codehead people. It&#8217;s like a text editor on steroids, only it&#8217;s a bad trip and I prefer <span style=\"font-weight: bold;\">emacs<\/span> if I must go down that road. Also, there&#8217;s an  <span style=\"font-weight: bold;\">Eclipse<\/span> plugin available but the last time I tried a demo version, it messed up my <span style=\"font-weight: bold;\">Eclipse<\/span> installation beyond all reason, and I had to remove both to recover my sanity. I&#8217;m not going to try again unless there is a very, very good reason for me to do so. Like if a client pays me to.<\/p>\n<p>And that&#8217;s that. There are a few other tools available for Windows that I&#8217;m going to try one of these days, but since this was basically a rant, I&#8217;m not going to waste time and space on them now. Cheers!<\/p>\n<p>Of course, there are lots of command line XML tools available, and I&#8217;m not complaining there. I&#8217;ve got just about everything there, from <span style=\"font-weight: bold;\">OpenSP<\/span> to <span style=\"font-weight: bold;\">Jade<\/span> (yes, every now and then it&#8217;s nice to have it to do <span style=\"font-style: italic;\">DSSSL<\/span>), and to, of course, <span style=\"font-weight: bold;\">FOP<\/span>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Being an XML developer isn&#8217;t always easy if you&#8217;re running Linux, not if you aren&#8217;t happy with emacs and nxml-mode. Not that I don&#8217;t like emacs; I do, but there are limits to what it can do. But before I go on, let&#8217;s get some things straight. This post is basically a rant on XML [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/294"}],"collection":[{"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=294"}],"version-history":[{"count":0,"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/294\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=294"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.sgmlguru.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}