/* ----------------------------------------------- Blogger Template Style Name: Minima Designer: Douglas Bowman URL: www.stopdesign.com Date: 26 Feb 2004 ----------------------------------------------- */ body { background:#fff; margin:0; padding:40px 20px; font:x-small Georgia,Serif; text-align:center; color:#333; font-size/* */:/**/small; font-size: /**/small; } a:link { color:#58a; text-decoration:none; } a:visited { color:#969; text-decoration:none; } a:hover { color:#c60; text-decoration:underline; } a img { border-width:0; } /* Header ----------------------------------------------- */ #header { width:660px; margin:0 auto 10px; border:1px solid #ccc; } #blog-title { margin:5px 5px 0; padding:20px 20px .25em; border:1px solid #eee; border-width:1px 1px 0; font-size:200%; line-height:1.2em; font-weight:normal; color:#666; text-transform:uppercase; letter-spacing:.2em; } #blog-title a { color:#666; text-decoration:none; } #blog-title a:hover { color:#c60; } #description { margin:0 5px 5px; padding:0 20px 20px; border:1px solid #eee; border-width:0 1px 1px; max-width:700px; font:78%/1.4em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.2em; color:#999; } /* Content ----------------------------------------------- */ #content { width:660px; margin:0 auto; padding:0; text-align:left; } #main { width:410px; float:left; } #sidebar { width:220px; float:right; } /* Headings ----------------------------------------------- */ h2 { margin:1.5em 0 .75em; font:78%/1.4em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.2em; color:#999; } /* Posts ----------------------------------------------- */ .date-header { margin:1.5em 0 .5em; } .post { margin:.5em 0 1.5em; border-bottom:1px dotted #ccc; padding-bottom:1.5em; } .post-title { margin:.25em 0 0; padding:0 0 4px; font-size:140%; font-weight:normal; line-height:1.4em; color:#c60; } .post-title a, .post-title a:visited, .post-title strong { display:block; text-decoration:none; color:#c60; font-weight:normal; } .post-title strong, .post-title a:hover { color:#333; } .post div { margin:0 0 .75em; line-height:1.6em; } p.post-footer { margin:-.25em 0 0; color:#ccc; } .post-footer em, .comment-link { font:78%/1.4em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.1em; } .post-footer em { font-style:normal; color:#999; margin-right:.6em; } .comment-link { margin-left:.6em; } .post img { padding:4px; border:1px solid #ddd; } .post blockquote { margin:1em 20px; } .post blockquote p { margin:.75em 0; } /* Comments ----------------------------------------------- */ #comments h4 { margin:1em 0; font:bold 78%/1.6em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.2em; color:#999; } #comments h4 strong { font-size:130%; } #comments-block { margin:1em 0 1.5em; line-height:1.6em; } #comments-block dt { margin:.5em 0; } #comments-block dd { margin:.25em 0 0; } #comments-block dd.comment-timestamp { margin:-.25em 0 2em; font:78%/1.4em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.1em; } #comments-block dd p { margin:0 0 .75em; } .deleted-comment { font-style:italic; color:gray; } /* Sidebar Content ----------------------------------------------- */ #sidebar ul { margin:0 0 1.5em; padding:0 0 1.5em; border-bottom:1px dotted #ccc; list-style:none; } #sidebar li { margin:0; padding:0 0 .25em 15px; text-indent:-15px; line-height:1.5em; } #sidebar p { color:#666; line-height:1.5em; } /* Profile ----------------------------------------------- */ #profile-container { margin:0 0 1.5em; border-bottom:1px dotted #ccc; padding-bottom:1.5em; } .profile-datablock { margin:.5em 0 .5em; } .profile-img { display:inline; } .profile-img img { float:left; padding:4px; border:1px solid #ddd; margin:0 8px 3px 0; } .profile-data { margin:0; font:bold 78%/1.6em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.1em; } .profile-data strong { display:none; } .profile-textblock { margin:0 0 .5em; } .profile-link { margin:0; font:78%/1.4em "Trebuchet MS",Trebuchet,Arial,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.1em; } /* Footer ----------------------------------------------- */ #footer { width:660px; clear:both; margin:0 auto; } #footer hr { display:none; } #footer p { margin:0; padding-top:15px; font:78%/1.6em "Trebuchet MS",Trebuchet,Verdana,Sans-serif; text-transform:uppercase; letter-spacing:.1em; }

Friday, February 24, 2006

Yet Another Rant on XML Tools

Being an XML developer isn't always easy if you're running Linux, not if you aren't happy with emacs and nxml-mode. Not that I don't like emacs; I do, but there are limits to what it can do. But before I go on, let's get some things straight. This post is basically a rant on XML tools so if you aren't an XML geek, or if your particular flavour of geek-ishness differs from mine, then go read something else, say, Henrik's Ruby articles.

So anyway, moving on... If you develop DTDs, for example, you need something to visualize the DTDs with. I always liked Near & Far from Microstar, even though the product is dead and gone, and it's impossible to buy it anywhere. Luckily, I have a copy (which I'm not selling, thank you very much), and even though it's Windows software, it runs just fine on Wine/Linux.

Not that I'd want to actually create DTDs using Near & Far. It's not good enough; for the actual writing, a text editor, say, emacs, is still by far the best choice. Near & Far will ruin any modularization you ever wanted for your DTD, it likes to normalize anything and everything it sees. But for pure visualization, it's great.

It's somewhat worse with XSL software. There are IDEs for XSLT available for Linux, but most range from bad to awful, and I've given up on all but one of them. The remaining one is ActiveState's Komodo, 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't take my word for it.

Unfortunately, it doesn't do XSL-FO natively. Sure, you can write your transformations to FO in it but there's no help for the target FO namespace, only your basic XSLT. It's possible to write a macro to couple your debugging with, say, FOP, to get PDF output right off the bat, but that's not the real issue. I want FO namespace help. Context-sensitive help, thank you very much.

XML Spy does this help-on-FO-namespace part, but I haven't managed to install it; yes, I know it's possible because it's listed on the various Wine compatibility lists, but I've failed miserably so far. I'll try again, one of these days, now that XMetaL finally made it to Linux.

And also, I never liked XML Spy. I know, people hold it in high regard, but I bet all of them are codeheads (you can't join if you have to ask; I'm a dochead myself). XML Spy is just so... not document-oriented. It's for programmers, the kind I'm most certainly not.

Then there's Oxygen, a payware IDE that is available for Linux as well as Windows. Unfortunately, it's yet another tool created for (and by) those codehead people. It's like a text editor on steroids, only it's a bad trip and I prefer emacs if I must go down that road. Also, there's an Eclipse plugin available but the last time I tried a demo version, it messed up my Eclipse installation beyond all reason, and I had to remove both to recover my sanity. I'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.

And that's that. There are a few other tools available for Windows that I'm going to try one of these days, but since this was basically a rant, I'm not going to waste time and space on them now. Cheers!

Of course, there are lots of command line XML tools available, and I'm not complaining there. I've got just about everything there, from OpenSP to Jade (yes, every now and then it's nice to have it to do DSSSL), and to, of course, FOP.

2 Comments:

Anonymous Anonymous said...

Hi Ari,

Nice blog. It looks rather ugly in Internet Explorer, however (some trouble with the CSS code, it seems). Firefox renders it fine.

XMetaL on Linux! Cool. Speaking of XML editors, have you checked out Serna? It runs on Windows, Linux, and Mac OS X.

8:47 PM  
Blogger Ari N said...

Hi Mauritz,

The blog is *optimized* for Firefox. As I run Linux, I don't use Internet Explorer other than through Wine, to get other stuff like XM3 working.

Yup. I've seen Serna. Not impressed, though. It needs work. I doubt anyone actually writes stuff with it.

See ya,

/Ari

11:19 PM  

Post a Comment

<< Home