<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Expires" content="Mon, 01 Jan 1990 01:00:00 GMT" />
	<meta name="generator" content="Squib/0.4.0.282" />
	<meta name="author" content="Matt Mower" />
	<meta name="keywords" content="matt mower,london,paoga,squib" />
	<meta name="description" content="Curiouser and Curiouser is the weblog of Matt Mower a London based technical marketing manager for software company PAOGA. In his spare time Matt Mower enjoyes developing software applications including this weblog application Squib." />
	<title>Curiouser and Curiouser!</title>
	<link href="http://matt.blogs.it/rss.xml" rel="alternate" title="RSS" type="application/rss+xml" />
<link href="http://matt.blogs.it/themes/fragen3.14/styles/theme_candc.css" media="screen" rel="stylesheet" type="text/css" />

</head>
<body>
<div id="page">
<div id="banner">
    <h1>Curiouser and Curiouser!</h1>
    <em>'Where shall I begin, please your Majesty?' He asked. 'Begin at the beginning,'
the King said, very gravely, 'and go on till you come to the end: then stop.'</em>
</div>
<div id="nav">
    
<div class="box" id="box_about">
<p><strong>About</strong></p>

<p>Wherein Matt Mower (aka rubymatt on FreeNode) rambles about technology, the love of a good MacTop, ruby coding, rails, topics, knowledge management and learning, and politics.</p>
</div>


    
<div class="box" id="box_navigation">
<p><strong>Navigation</strong></p>

<ul>
<li><a href="http://matt.blogs.it/">Home</a></li>
<li><a href="http://matt.blogs.it/all_posts.html">All Posts by Title</a></li>
<li><a href="http://matt.blogs.it/all_archives.html">Monthly Archives</a></li>
<li><a href="http://matt.blogs.it/topics/index.html">Topics</a></li>
</ul>
</div>


    
    
<div class="box" id="box_blogroll">
<strong>Blogroll</strong><ul class="blogroll"><li><a class="orangeButton" href="http://www.tapestrycomics.com/dilbert.xml">XML</a> <a href="http://www.dilbert.com/">Dilbert</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/getfuzzy.xml">XML</a> <a href="http://www.comics.com//comics/getfuzzy/">Get Fuzzy</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/liberty.xml">XML</a> <a href="http://www.comics.com/creators/liberty/">Liberty Meadows</a></li>
<li><a class="orangeButton" href="http://www.phoenyx.net/feeds/comics/hedge.rdf">XML</a> <a href="http://www.comics.com/comics/hedge/">Over the Hedge</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/peanuts.xml">XML</a> <a href="http://www.comics.com//comics/peanuts/">Peanuts</a></li>
<li><a class="orangeButton" href="http://atheos.de/funnies/pvp.rdf">XML</a> <a href="http://www.pvponline.com/">PvP Online</a></li>
<li><a class="orangeButton" href="http://rss.xiffy.nl/xml.php?channel=391">XML</a> <a href="http://www.userfriendly.org/">User Friendly the Comic Strip. by Illiad</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/wizardofid.xml">XML</a> <a href="http://www.comics.com/creators/wizardofid/">Wizard of Id</a></li>
<li><a class="orangeButton" href="http://matt.blogs.it/rss.xml ">XML</a> <a href="http://matt.blogs.it/">Curiouser and Curiouser!</a></li>
<li><a class="orangeButton" href="http://www.pubsub.com/site_stats_feed.php?site=matt.blogs.it">XML</a> <a href="http://www.pubsub.com/linkcounts.php">PubSub PubStats for matt.blogs.it</a></li>
<li><a class="orangeButton" href="http://www.technorati.com/watchlists/rss.html?wid=2122">XML</a> <a href="http://www.technorati.com/search/matt.blogs.it">Technorati Search for: Curiouser and curiouser!</a></li>
<li><a class="orangeButton" href="http://www.terryfrazier.com/weblog/rss.xml">XML</a> <a href="http://www.terryfrazier.com/weblog/index">b.cognosco</a></li>
<li><a class="orangeButton" href="http://www.bethlet.net/atom.xml">XML</a> <a href="http://www.bethlet.net/">bethlet.net</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/devzero/osx">XML</a> <a href="http://del.icio.us/devzero/osx">del.icio.us/devzero/osx</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/tag/osx">XML</a> <a href="http://del.icio.us/tag/osx">del.icio.us/tag/osx</a></li>
<li><a class="orangeButton" href="http://weblog.infoworld.com/foster/rss.xml">XML</a> <a href="http://weblog.infoworld.com/foster/">Ed Foster's Radio Weblog</a></li>
<li><a class="orangeButton" href="http://blog.grahamsadd.com/atom.xml">XML</a> <a href="http://blog.grahamsadd.com/">Graham Sadd's Weblog</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/letTheGoodTimesRollByGuyKawasaki">XML</a> <a href="http://blog.guykawasaki.com/">Let the Good Times Roll by Guy Kawasaki</a></li>
<li><a class="orangeButton" href="http://blog.mathemagenic.com/rss.xml">XML</a> <a href="http://blog.mathemagenic.com/">Mathemagenic</a></li>
<li><a class="orangeButton" href="http://maxblumberg.typepad.com/dailymusings/atom.xml">XML</a> <a href="http://maxblumberg.typepad.com/dailymusings/">Max Blumberg Positioning Game</a></li>
<li><a class="orangeButton" href="http://www.drmartinhall.com/index.rdf">XML</a> <a href="http://www.drmartinhall.com/">Minessence -- Doc Martin's Musings</a></li>
<li><a class="orangeButton" href="http://theobvious.typepad.com/blog/atom.xml">XML</a> <a href="http://theobvious.typepad.com/blog/">The Obvious?</a></li>
<li><a class="orangeButton" href="http://onlyagame.typepad.com/only_a_game/atom.xml">XML</a> <a href="http://onlyagame.typepad.com/only_a_game/">Only a Game</a></li>
<li><a class="orangeButton" href="http://paolo.evectors.it/rss.xml">XML</a> <a href="http://paolo.evectors.it/">Paolo Valdemarin: Paolo's Weblog</a></li>
<li><a class="orangeButton" href="http://bash.org/xml/">XML</a> <a href="http://www.bash.org">QDB: Quote Database</a></li>
<li><a class="orangeButton" href="http://ross.typepad.com/blog/index.rdf">XML</a> <a href="http://ross.typepad.com/blog/">Ross Mayfield's Weblog</a></li>
<li><a class="orangeButton" href="http://www.scripting.com/rss.xml">XML</a> <a href="http://www.scripting.com/">Scripting News</a></li>
<li><a class="orangeButton" href="http://www.myelin.co.nz/post/rss.xml">XML</a> <a href="http://www.myelin.co.nz/post/">Second p0st</a></li>
<li><a class="orangeButton" href="http://www.synesthesia.co.uk/blog/feed/rss2/">XML</a> <a href="http://www.synesthesia.co.uk/blog">Synesthesia</a></li>
<li><a class="orangeButton" href="http://the.taoofmac.com/space/RecentChanges?filter=blog&amp;amp;format=rss">XML</a> <a href="http://the.taoofmac.com/space">The Tao of Mac</a></li>
<li><a class="orangeButton" href="http://anjo.blogs.com/metis/index.rdf">XML</a> <a href="http://anjo.blogs.com/metis/">Anjo Anjewierden</a></li>
<li><a class="orangeButton" href="http://www.beyondbullets.com/index.rdf">XML</a> <a href="http://www.beyondbullets.com/">beyond bullets</a></li>
<li><a class="orangeButton" href="http://bps-research-digest.blogspot.com/atom.xml">XML</a> <a href="http://bps-research-digest.blogspot.com">BPS Research Digest</a></li>
<li><a class="orangeButton" href="http://chocnvodka.blogware.com/blog/index.xml">XML</a> <a href="http://chocnvodka.blogware.com/blog">Chocolate and Vodka</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/Corporatebloggingblog">XML</a> <a href="http://www.corporateblogging.info/">CorporateBloggingBlog</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/tag/lifehacks">XML</a> <a href="http://del.icio.us/tag/lifehacks">del.icio.us/tag/lifehacks</a></li>
<li><a class="orangeButton" href="http://www.firstadopter.com/index.rdf">XML</a> <a href="http://www.firstadopter.com/">FirstAdopter.com</a></li>
<li><a class="orangeButton" href="http://homepage.mac.com/dave_rogers/news.rss">XML</a> <a href="http://homepage.mac.com/dave_rogers/">Groundhog Day</a></li>
<li><a class="orangeButton" href="http://cgi.pbs.org/cgi-registry/cringely/cringelyrdf.pl">XML</a> <a href="http://www.pbs.org/cringely/">I, Cringely @ PBS.org</a></li>
<li><a class="orangeButton" href="http://marktsinfoblog.blogspot.com/atom.xml">XML</a> <a href="http://marktsinfoblog.blogspot.com">Mark T's information blog</a></li>
<li><a class="orangeButton" href="http://maxblumberg.typepad.com/maxwellbeing/index.rdf">XML</a> <a href="http://maxblumberg.typepad.com/maxwellbeing/">MaxWellBeing</a></li>
<li><a class="orangeButton" href="http://dev.metavalues.com/metavalues/timeline?daysback=90&amp;amp;max=50&amp;amp;wiki=on&amp;amp;ticket=on&amp;amp;changeset=on&amp;amp;milestone=on&amp;amp;format=rss">XML</a> <a href="http://bidwell.textdrive.com:9009/metavalues/timeline">MetaValues: Timeline</a></li>
<li><a class="orangeButton" href="http://blog.monkeymethods.org/atom.xml">XML</a> <a href="http://blog.monkeymethods.org/">monkey methods</a></li>
<li><a class="orangeButton" href="http://googleblog.blogspot.com/atom.xml">XML</a> <a href="http://googleblog.blogspot.com">Official Google Blog</a></li>
<li><a class="orangeButton" href="http://presentationzen.blogs.com/presentationzen/atom.xml">XML</a> <a href="http://presentationzen.blogs.com/presentationzen/">Presentation Zen</a></li>
<li><a class="orangeButton" href="http://simon.incutio.com/syndicate/rss1.0">XML</a> <a href="http://simon.incutio.com/">Simon Willison's Weblog</a></li>
<li><a class="orangeButton" href="http://www.unstruct.org/wp-rdf.php">XML</a> <a href="http://www.unstruct.org">unstruct.org</a></li>
<li><a class="orangeButton" href="http://www.wingedpig.com/index.rdf">XML</a> <a href="http://www.wingedpig.com/">wingedpig.com - Mark Fletcher's Blog</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/Wonderland">XML</a> <a href="http://crystaltips.typepad.com/wonderland/">Wonderland</a></li>
<li><a class="orangeButton" href="http://psychcentral.com/blog/feed/">XML</a> <a href="http://psychcentral.com/blog">World of Psychology</a></li>
<li><a class="orangeButton" href="http://www.slash7.com/xml/rss/feed.xml">XML</a> <a href="http://www.slash7.com/">(24)slash7</a></li>
<li><a class="orangeButton" href="http://www.artima.com/rubycs/feeds/rubycs.rss">XML</a> <a href="http://www.artima.com/">Articles published in Ruby Code &amp; Style</a></li>
<li><a class="orangeButton" href="http://www.chadfowler.com/index.cgi?rss">XML</a> <a href="http://www.chadfowler.com/index.cgi">ChadFowler.com</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/curthibbs">XML</a> <a href="http://blog.curthibbs.us/articles">Curt's Comments</a></li>
<li><a class="orangeButton" href="http://eigenclass.org/hiki.rb?c=rss;tags=blog">XML</a> <a href="http://eigenclass.org/hiki.rb?c=recent">Eigenclass (blog)</a></li>
<li><a class="orangeButton" href="http://www.livejournal.com/users/drbrain/data/rss">XML</a> <a href="http://www.livejournal.com/users/drbrain/">Eric Hodel</a></li>
<li><a class="orangeButton" href="http://tomcopeland.blogs.com/juniordeveloper/rss.xml">XML</a> <a href="http://tomcopeland.blogs.com/juniordeveloper/">Junior developer</a></li>
<li><a class="orangeButton" href="http://www.koziarski.net/feed/atom/">XML</a> <a href="http://www.koziarski.net">Koz Speaks</a></li>
<li><a class="orangeButton" href="http://www.loudthinking.com/index.rdf">XML</a> <a href="http://www.loudthinking.com/">Loud Thinking</a></li>
<li><a class="orangeButton" href="http://www.mad4milk.net/feeds/tag/moo.fx/weblog">XML</a> <a href="http://www.mad4milk.net/tag/weblog/moo.fx">mad4milk feed for tag moo.fx in weblog section</a></li>
<li><a class="orangeButton" href="http://www.magpiebrain.com/index_full.xml">XML</a> <a href="http://www.magpiebrain.com/">magpiebrain</a></li>
<li><a class="orangeButton" href="http://mir.aculo.us/xml/rss/feed.xml">XML</a> <a href="http://mir.aculo.us/articles">mir.aculo.us</a></li>
<li><a class="orangeButton" href="http://jroller.org/rss/obie">XML</a> <a href="http://jroller.com/page/obie">Obie Fernandez</a></li>
<li><a class="orangeButton" href="http://outside-thoughts.octopod.info/xml/atom/feed.xml">XML</a> <a href="http://outside-thoughts.octopod.info/">Octoblog</a></li>
<li><a class="orangeButton" href="http://blog.zenspider.com/index.rdf">XML</a> <a href="http://blog.zenspider.com/">Polishing Ruby</a></li>
<li><a class="orangeButton" href="http://blogs.pragprog.com/cgi-bin/pragdave.cgi/index.rss">XML</a> <a href="http://blogs.pragprog.com/cgi-bin/pragdave.cgi">PragDave</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/projectionist">XML</a> <a href="http://project.ioni.st/">Projectionist</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/raganwald">XML</a> <a href="http://www.braithwaite-lee.com/weblog/">Raganwald</a></li>
<li><a class="orangeButton" href="http://railsexpress.de/blog/xml/rss20/feed.xml">XML</a> <a href="http://railsexpress.de/blog/">RailsExpress.blog</a></li>
<li><a class="orangeButton" href="http://onestepback.org/gemwatch.rss">XML</a> <a href="">Recent Gems</a></li>
<li><a class="orangeButton" href="http://redhanded.hobix.com/index.xml">XML</a> <a href="http://redhanded.hobix.com">RedHanded</a></li>
<li><a class="orangeButton" href="http://weblog.rubyonrails.com/feed/rss2/">XML</a> <a href="http://weblog.rubyonrails.com/">Riding Rails</a></li>
<li><a class="orangeButton" href="http://rubyweeklynews.org/index.xml">XML</a> <a href="http://www.rubyweeklynews.org">Ruby Weekly News</a></li>
<li><a class="orangeButton" href="http://blog.xeraph.org/feed/rss2/">XML</a> <a href="http://blog.xeraph.org">Slave To The Machine</a></li>
<li><a class="orangeButton" href="http://split-s.blogspot.com/atom.xml">XML</a> <a href="http://split-s.blogspot.com">split-s</a></li>
<li><a class="orangeButton" href="http://techno-weenie.net/blog/?rss=1">XML</a> <a href="http://techno-weenie.net/blog/">techno weenie</a></li>
<li><a class="orangeButton" href="http://tech.rufy.com/feed/rss2/">XML</a> <a href="http://tech.rufy.com">Technoblog</a></li>
<li><a class="orangeButton" href="http://jamis.jamisbuck.org/blog.cgi/index.rss">XML</a> <a href="http://jamis.jamisbuck.org/">the { buckblogs :here }</a></li>
<li><a class="orangeButton" href="http://onestepback.org/index.cgi/index.rss">XML</a> <a href="http://onestepback.org/index.cgi">{ | one, step, back | }</a></li>
<li><a class="orangeButton" href="http://habtm.com/xml/atom/feed.xml">XML</a> <a href="http://habtm.com/">~:caboose</a></li>
<li><a class="orangeButton" href="http://www.decafbad.com/atom.xml">XML</a> <a href="http://www.decafbad.com/">0xDECAFBAD</a></li>
<li><a class="orangeButton" href="http://www.alistapart.com/rss.xml">XML</a> <a href="http://www.alistapart.com/">A List Apart</a></li>
<li><a class="orangeButton" href="http://www.ajaxian.com/index.xml">XML</a> <a href="http://www.ajaxian.com/">Ajaxian</a></li>
<li><a class="orangeButton" href="http://www.backpackit.com/weblog/index.xml">XML</a> <a href="http://backpackit.com/weblog/">Backpack Weblog</a></li>
<li><a class="orangeButton" href="http://blog.monstuff.com/index.xml">XML</a> <a href="http://blog.monstuff.com/">Curiosity is bliss</a></li>
<li><a class="orangeButton" href="http://homepages.ihug.com.au/~naseby/rss.xml">XML</a> <a href="http://homepages.ihug.com.au/~naseby/">David Naseby's World</a></li>
<li><a class="orangeButton" href="http://www.docuverse.com/blog/donpark/rss.xml">XML</a> <a href="http://www.docuverse.com/blog/donpark/">Don Park's Daily Habit</a></li>
<li><a class="orangeButton" href="http://epeus.blogspot.com/atom.xml">XML</a> <a href="http://epeus.blogspot.com">Epeus' epigone</a></li>
<li><a class="orangeButton" href="http://dev.r.tucows.com/blog/index.xml">XML</a> <a href="http://farm.tucows.com/blog">The Farm: The Tucows Developers' Hangout</a></li>
<li><a class="orangeButton" href="http://grahamglass.blogs.com/main/atom.xml">XML</a> <a href="http://grahamglass.blogs.com/main/">Graham Glass, etc.</a></li>
<li><a class="orangeButton" href="http://haoli.dnsalias.com/index.xml">XML</a> <a href="http://haoli.dnsalias.com">h a o l i</a></li>
<li><a class="orangeButton" href="http://hypermetrics.com:3000/xml/rss/feed.xml">XML</a> <a href="http://hypermetrics.com:3000/">Hal-lucinations</a></li>
<li><a class="orangeButton" href="http://www.joelonsoftware.com/rss.xml">XML</a> <a href="http://www.joelonsoftware.com">Joel on Software</a></li>
<li><a class="orangeButton" href="http://weblog.infoworld.com/udell/rss.xml">XML</a> <a href="http://weblog.infoworld.com/udell/">Jon's Radio</a></li>
<li><a class="orangeButton" href="http://martinfowler.com/bliki/bliki.rss">XML</a> <a href="http://martinfowler.com/bliki">Martin Fowler's Bliki</a></li>
<li><a class="orangeButton" href="http://minimsft.blogspot.com/atom.xml">XML</a> <a href="http://minimsft.blogspot.com">Mini-Microsoft</a></li>
<li><a class="orangeButton" href="http://www.redhillconsulting.com.au/blogs/simon/index.xml">XML</a> <a href="http://www.redhillconsulting.com.au/blogs/simon/">My hovercraft is full of eels</a></li>
<li><a class="orangeButton" href="http://blogs.osafoundation.org/news/index.xml">XML</a> <a href="http://www.osafoundation.org/">OSAF News</a></li>
<li><a class="orangeButton" href="http://peterkaminski.com/index.rdf">XML</a> <a href="http://peterkaminski.com/">Peter Kaminski</a></li>
<li><a class="orangeButton" href="http://www.cincomsmalltalk.com/rssBlog/ralph-rss.xml">XML</a> <a href="http://www.cincomsmalltalk.com/userblogs/ralph/blogView">Ralph Johnson - Blog</a></li>
<li><a class="orangeButton" href="http://www.intertwingly.net/blog/index.rss2">XML</a> <a href="http://www.intertwingly.net/blog/">Sam Ruby</a></li>
<li><a class="orangeButton" href="http://37signals.com/svn/index_full.rdf">XML</a> <a href="http://37signals.com/svn/">Signal vs. Noise</a></li>
<li><a class="orangeButton" href="http://mmower.backpackit.com/feed/580c59a670b1f7c852e0901b7976e0e8">XML</a> <a href="http://mmower.backpackit.com/account/start">Backpack</a></li>
<li><a class="orangeButton" href="http://www.choof.org/MT/index.xml">XML</a> <a href="http://www.choof.org/MT/">choof.org</a></li>
<li><a class="orangeButton" href="http://www.idealgovernment.com/index.php/weblog/rss_2.0/">XML</a> <a href="http://www.idealgovernment.com/index.php/weblog/index/">Ideal Government</a></li>
<li><a class="orangeButton" href="http://www.idcorner.org/wp-rss2.php">XML</a> <a href="http://www.idcorner.org">The Identity Corner</a></li>
<li><a class="orangeButton" href="http://www.identityblog.com/rss.xml">XML</a> <a href="http://www.identityblog.com/">Kim Cameron's Identity Weblog</a></li>
<li><a class="orangeButton" href="http://danielsolove.blogspot.com/atom.xml">XML</a> <a href="http://danielsolove.blogspot.com">The Solove Chronicles</a></li>
<li><a class="orangeButton" href="http://www.technorati.com/watchlists/rss.html?wid=64358">XML</a> <a href="http://www.technorati.com/cosmos/search.html?url=paoga">Technorati Search for: paoga</a></li>
<li><a class="orangeButton" href="http://blogs.sun.com/roller/rss/wizidm">XML</a> <a href="http://blogs.sun.com/roller/page/wizidm">Wizard of IdM</a></li>
</ul>
</div>


    
<div class="box" id="box_syndication">
<strong>Syndication</strong>
<div id="syndication">
<ul>
	<li><a class="orangeButton" href="http://matt.blogs.it/rss.xml">XML</a></li>
	<li><script type="text/javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%65%6c%66%40%6d%61%74%74%6d%6f%77%65%72%2e%63%6f%6d%22%3e%45%6d%61%69%6c%20%4d%65%3c%2f%61%3e%27%29%3b'))</script></li>
</ul>
</div>
</div>


</div>
<div id="wrapper">
	<div id="content">
		<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:ent="http://www.purl.org/NET/ENT/1.0/">
  <channel>
    <title>Curiouser and Curiouser! on xml</title>
    <link>http://matt.blogs.it/</link>
    <description>RSS feed for topic xml</description>
    <copyright>Copyright 2006 Matt Mower</copyright>
    <generator>Squib/0.1</generator>
    <managingEditor>self@mattmower.com</managingEditor>
    <webMaster>self@mattmower.com</webMaster>
    <language>en-gb</language>
    <item>
      <title>Transmorpher 1.0 announced</title>
      <pubDate>Mon, 06 Jan 2003 16:44:50 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Transmorpher 1.0&lt;/P&gt;
&lt;P&gt;Fluxmedia and INRIA are pleased to announce the availability of Transmorpher 1.0. Transmorpher is a software tool for defining and processing complex transformations of XML documents. It can accept external transformations (e.g., XSLT stylesheets) and provide a simple transformation language offering unit transformations (suppression, renaming, regular expression substitutions and query facilities). In addition to generating, transforming and serializing XML documents, it features constructors like merging, dispatching, querying, iterating, and composing transformations. These transformations can have several input and output streams. New implementation of these constructors can be plugged in Transmorpher. Transmorpher can be used as a compiler, an interpreter, a Ant task, a Servlet generator or embeded in another program.&lt;/P&gt;
&lt;P&gt;Transmorpher 1.0 is written in Java 1.3. It is the first full implementation of Transmorpher as presented in [1]. This version does not put emphasis on performances that we will consider in ulterior version but on functions. Transmorpher takes advantage of external resources (XML parsers, XSLT servers, Regular expression substituers and many other optionnal components). A graphic user interface, FlowComposer(&lt;A href="http://www.fluxmedia.fr/flowcomposer/"&gt;http://www.fluxmedia.fr/flowcomposer/&lt;/A&gt;), is under development at Fluxmedia.&lt;/P&gt;
&lt;P&gt;Transmorpher is available to everyone (sources included) from &lt;A href="http://transmorpher.inrialpes.fr/"&gt;http://transmorpher.inrialpes.fr&lt;/A&gt; under the GPL license (other licenses possible). Transmorpher is a joint development of the Exmo team(&lt;A href="http://www.inrialpes.fr/exmo"&gt;http://www.inrialpes.fr/exmo&lt;/A&gt;) of INRIA Rhône-Alpes and Fluxmedia. Its development is being supported by a ODL grant from INRIA.&lt;/P&gt;
&lt;P&gt;[1] Jérôme Euzenat, Laurent Tardif, XML transformation flow processing, Markup languages: theory and practice 3(3):, 2002 (a pre-version is available at &lt;A href="http://transmorpher.inrialpes.fr/wpaper/"&gt;http://transmorpher.inrialpes.fr/wpaper/&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Contact: &lt;A href="mailto:transmorpher-dev@inrialpes.fr"&gt;transmorpher-dev@inrialpes.fr&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;From &lt;A href="mailto:xml-dev@lists.xml.org"&gt;xml-dev@lists.xml.org&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This looks like a very interesting piece of software for augmenting XML processing in cases where XSLT is required, but too complex or unable to perform certain operations.&amp;nbsp; Or for structured processing involving a number of operations in sequence.&amp;nbsp; I like the sound of the FlowComposer as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001035.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/dave-winer.xml" ent:id="dave-winer" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/rss-2-0.xml" ent:id="rss-2-0" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>XML database reporting tool</title>
      <pubDate>Wed, 08 Jan 2003 11:28:52 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Just released: the 1.0 version of xReporter, open source, XML-based Apache Avalon/Cocoon-based database reporting framework, available from &lt;A href="http://xreporter.cocoondev.org/"&gt;http://xreporter.cocoondev.org/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Most compelling features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;multiple datasources &amp; report definitions&lt;/LI&gt;
&lt;LI&gt;user/role-based report authorization, container-based authentication&lt;/LI&gt;
&lt;LI&gt;column filtering &amp; sorting, query by example&lt;/LI&gt;
&lt;LI&gt;no programming required to define complex, multistep database reports&lt;/LI&gt;
&lt;LI&gt;optionally using temporary tables&lt;/LI&gt;
&lt;LI&gt;expression language &amp; field validation&lt;/LI&gt;
&lt;LI&gt;possibility to access non-SQL, 'Web Services' datasources&lt;/LI&gt;
&lt;LI&gt;fully customizable look &amp; feel using CSS and XSLT&lt;/LI&gt;
&lt;LI&gt;flow control using XML and a ReST HTTP interface&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;xReporter is released under an Apache-style license, and we welcome contributions and patches as we try to grow this into a community-owned project. Currently, there is anonymous read-only cvs access and a downloadable tarball. There's a limited, live demo available on the project website, too.&lt;/P&gt;
&lt;P&gt;From: &lt;A href="http://lists.xml.org/archives/xml-dev/"&gt;xml-dev&lt;/A&gt; list&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I don't have a need for this right now, but...&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001046.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Making TagSoup (add salt)</title>
      <pubDate>Thu, 09 Jan 2003 14:39:51 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;This announces the first public release of TagSoup, TagSoup 0.8. Those of you who heard about it at either the November NYC XML SIG meeting or at XML 2002 can now download it from the TagSoup home page at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ccil.org/~cowan/XML/tagsoup"&gt;http://www.ccil.org/~cowan/XML/tagsoup&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Currently available are the source and object code, and the presentation slides in Powerpoint format (but created by OpenOffice.org 1.0).&lt;/P&gt;
&lt;P&gt;From: &lt;A href="http://lists.xml.org/archives/xml-dev/"&gt;xml-dev&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This announcement for TagSoup is from about 3 weeks back, but hey, it's still good.&amp;nbsp; TagSoup is an HTML parser that&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;parses HTML as it is found in the wild: nasty and brutish, though quite often far from short&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;and provides a SAX interface to allow standard XML tools to grok the parsed HTML.&amp;nbsp; Very neat!&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001058.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/blogging.xml" ent:id="blogging" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Open Source XML DB</title>
      <pubDate>Thu, 16 Jan 2003 16:25:35 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;The eXist project is happy to announce release 0.9 of the eXist Open Source XML DB. This release fixes two of the remaining weak points of eXist, indexing performance and scalability. Storing more than just a few megabytes in a single database collection is no longer a problem; index files consume less disk space, and indexing speed has improved by an order of magnitude. New features include support for user authentication, access control, and basic XInclude on the server.&lt;/P&gt;
&lt;P&gt;More information on eXist 0.9 is available at &lt;&lt;A href="http://exist-db.org/"&gt;http://exist-db.org&lt;/A&gt;&gt;&lt;/P&gt;
&lt;P&gt;[Wolfgang Meier on &lt;A href="http://lists.xml.org/archives/xml-dev/"&gt;xml-dev&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'd like to see this.&amp;nbsp; I've looked at &lt;A href="http://xml.apache.org/xindice/"&gt;Xindice&lt;/A&gt; but it doesn't seem to be suitable for embedding at the moment.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001079.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/customer-service.xml" ent:id="customer-service" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/zinio-systems.xml" ent:id="zinio-systems" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Test ping on XML</title>
      <pubDate>Thu, 16 Jan 2003 16:37:08 +0000</pubDate>
      <description>&lt;P&gt;XML is good.&amp;nbsp; It's nice and short.&amp;nbsp; Just 3 letters.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001080.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/aggregators.xml" ent:id="aggregators" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/ent-1.0.xml" ent:id="ent-1.0" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/k-collector.xml" ent:id="k-collector" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/knowledge-management.xml" ent:id="knowledge-management" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/rss-2-0.xml" ent:id="rss-2-0" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Too old to program XML?</title>
      <pubDate>Fri, 07 Feb 2003 17:22:24 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://radio.weblogs.com/0103807/2003/02/07.html#a1312"&gt;Cool Programming Language Concept: SuperX++&lt;/A&gt;. &lt;/P&gt;
&lt;H3&gt;Cool Programming Language Concept: SuperX++&lt;/H3&gt;
&lt;P&gt;This is neat: Super X++.&amp;nbsp; It is a language where XML is the underlying programming construct as opposed to ASCII.&amp;nbsp; And, yes Virginia, it is Open Source.&lt;A href="http://xplusplus.sourceforge.net/index.htm"&gt;[_Go_]&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Here is a simple example from the FAQ:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;STRONG&gt;How do I code "Hello World!" in Superx++?&lt;BR&gt;&lt;/STRONG&gt;&lt;FONT size=-1&gt;The following code will be a full Superx++ program that returns the string&amp;nbsp;"Hello World!" to the Superx++ client (whatever process calls a Superx++ program):&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT size=-1&gt;&lt;FONT face=monospace&gt;&lt;xpp&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;xout&gt;Hello World!&lt;/xout&gt;&lt;BR&gt;&lt;/xpp&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;And here is a complex example:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;STRONG&gt;How do I define a class?&lt;BR&gt;&lt;/STRONG&gt;&lt;FONT size=-1&gt;A class in Superx++ is defined using the &lt;A href="http://xplusplus.sourceforge.net/Lex/class.htm"&gt;&lt;FONT face=monospace&gt;&lt;class&gt;&lt;/FONT&gt;&lt;/A&gt; statement. An example follows:&lt;BR&gt;&lt;FONT face=monospace&gt;&lt;class name="XTree" inherit="XPlant"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;construct&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;scope type="public"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;Chlorophylic&gt;yes&lt;/Chlorophylic&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/scope&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/construct&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;scope type="public"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;func type="string" name="GetChlorophylic"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;return&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="Chlorophylic" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/return&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/func&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;func type="void" name="SetChlorophylic"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;parm type="string" name="sVal" pass="val" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="Chlorophylic"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="sVal" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/eval&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/func&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;func type="int" name="GetAge"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;return&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="this" member="Age" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/return&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/func&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;func type="void" name="SetAge"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;parm type="int" name="sVal" pass="val" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="this" member="Age"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;eval object="sVal" /&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/eval&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/body&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/func&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/scope&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;scope type="protected"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;var type="int" name="Age"&gt;0&lt;/var&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/scope&gt;&lt;BR&gt;&lt;/class&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The statement above declares a class called &lt;I&gt;XTree&lt;/I&gt; which inherits from the class &lt;I&gt;XPlant&lt;/I&gt; which contains an object called &lt;I&gt;Chlorophylic&lt;/I&gt;. Every time an object of class &lt;I&gt;XTree&lt;/I&gt; is instantiated it will be instantiated along with a contained object called &lt;I&gt;Chlorophylic&lt;/I&gt;. The class &lt;I&gt;XTree&lt;/I&gt; also defines four methods and one member variable. For more details on classes &lt;A href="http://xplusplus.sourceforge.net/Lex/class.htm"&gt;click here&lt;/A&gt;. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;Thanks to &lt;A href="http://www.ddj.com/"&gt;Dr. Dobbs Journal&lt;/A&gt; for turning me on to this.&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;[&lt;A href="http://radio.weblogs.com/0103807/"&gt;The FuzzyBlog!&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I think I'm getting old 'cus &lt;EM&gt;Superx++&lt;/EM&gt; looks bloody horrible to me.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001141.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/voip.xml" ent:id="voip" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>New-fangled XML gubbins</title>
      <pubDate>Mon, 10 Feb 2003 15:07:13 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://radio.weblogs.com/0107808/2003/02/07.html#a730"&gt;Matt Mower&lt;/A&gt; takes a look at &lt;A href="http://xplusplus.sourceforge.net/index.htm"&gt;Superx++&lt;/A&gt;, an OO programming language with an XML syntax, and finds it a bit new-fangled.&lt;/P&gt;
&lt;P&gt;I agree it looks terribly verbose, but I think there are some terrific advantages possible from this approach. XML is both easily human and computer readable, and sensible, lowering the technical bar to understanding. A terrific development toolset for manipulating XML programs could evolve from the format. Incorporating other XML documents is natural, whether they specify Data, Instructions, Web Services, or UI widgets. 
&lt;P&gt;There's plenty of action is this area. &lt;A href="http://xml.apache.org/cocoon/"&gt;Apache Cocoon&lt;/A&gt; is "an XML publishing framework that raises the usage of XML and XSLT technologies for server applications to a new level." &lt;A href="http://directory.google.com/Top/Computers/Data_Formats/Markup_Languages/XML/Applications/XUL/?tc=1"&gt;XUL&lt;/A&gt; is Mozilla's XML UI language. &lt;A href="http://www.laszlosystems.com/"&gt;Laszlo&lt;/A&gt; is a Rich Internet Application Framework, utilizing XML for development, and piggybacking on Flash for execution [From the look of their &lt;A href="http://www.laszlosystems.com/img/p_c_environment.jpg"&gt;screenshot&lt;/A&gt;, it seems &lt;A href="http://myway.com/"&gt;myWay&lt;/A&gt; may be interested]. &lt;A href="http://www.xwt.org/index.html"&gt;XWT&lt;/A&gt; is a gui toolkit based in XML (mentioned in the great article &lt;A href="http://www.boxesandarrows.com/archives/htmls_time_is_over_lets_move_on.php"&gt;HTML's Time is Over. Let's Move On.&lt;/A&gt;). There's even been &lt;A href="http://radio.weblogs.com/0100875/2002/12/17.html#a791"&gt;rumors&lt;/A&gt; of Microsoft pursuing XML programming languages. [&lt;A href="http://radio.weblogs.com/0100875/"&gt;Brain Off&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'd like to make a couple of clarifications: 
&lt;OL&gt;
&lt;LI&gt;I didn't really take a look at SuperX++.&amp;nbsp; Or rather that's exactly what I did.&amp;nbsp; I looked at that chunk of code on the page and went "ugh!" 
&lt;LI&gt;I&amp;nbsp;don't agree with the statement "XML is both easily human and...".&amp;nbsp; Computer readable?&amp;nbsp; Yes.&amp;nbsp; Human readable, gods no.&amp;nbsp; Not that example anyway.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I've had this argument before but so far I haven't seen any good reason for XML programming languages.&amp;nbsp; In conversation with the author of &lt;A href="http://www.o-xml.org/objectbox/"&gt;ObjectBox&lt;/A&gt; I wondered about using such a language for building advanced coding toolsets but I sure as hell don't want to be typing this stuff in!&amp;nbsp; You, of course, may type in whatever you like :)&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001146.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/aol.xml" ent:id="aol" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/instant-messenger.xml" ent:id="instant-messenger" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/microsoft.xml" ent:id="microsoft" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/yahoo.xml" ent:id="yahoo" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Can I be sceptical for just one more minute?</title>
      <pubDate>Tue, 11 Feb 2003 23:25:39 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://radio.weblogs.com/0107808/2003/02/10.html#a734"&gt;New-fangled XML gubbins&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;I'd like to make a couple of clarifications: 
&lt;OL&gt;
&lt;LI&gt;I didn't really take a look at SuperX++.&amp;nbsp; Or rather that's exactly what I did.&amp;nbsp; I looked at that chunk of code on the page and went "ugh!" 
&lt;LI&gt;I&amp;nbsp;don't agree with the statement "XML is both easily human and...".&amp;nbsp; Computer readable?&amp;nbsp; Yes.&amp;nbsp; Human readable, gods no.&amp;nbsp; Not that example anyway.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I've had this argument before but so far I haven't seen any good reason for XML programming languages.&amp;nbsp; In conversation with the author of &lt;A href="http://www.o-xml.org/objectbox/"&gt;ObjectBox&lt;/A&gt; I wondered about using such a language for building advanced coding toolsets but I sure as hell don't want to be typing this stuff in!&amp;nbsp; You, of course, may type in whatever you like :)&lt;/P&gt;[&lt;A href="http://radio.weblogs.com/0107808/"&gt;Curiouser and curiouser!&lt;/A&gt;] &lt;/BLOCKQUOTE&gt;Yes, I hesitated to type "human readable" :)! Though even in IE's xml renderer, readability is greatly improved. This particular language may be the best representative of the concept [paradoxically, this language has spwaned a &lt;A href="http://www.topxml.com/code/default.asp?p=3&amp;id=v20020930173054"&gt;varient&lt;/A&gt; which doesn't use xml at all]. 
&lt;P&gt;Intuitively, an XML programming language appeals to me. I see this type of programming as fairly high level, such as stitching services and data together into web applications in &lt;A href="http://radio.weblogs.com/0100875/2002/12/19.html#a822"&gt;Recombinant Growth&lt;/A&gt; -- not as a replacement for traditional programming language. Programming in an XML langauge should be easier, for the task at hand. 
&lt;P&gt;Does this justify XML for programming? I need to put more thought into this intuition. [&lt;A href="http://radio.weblogs.com/0100875/"&gt;Brain Off&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;One of the questions that springs to my mind is: Why XML?&amp;nbsp; Other than off-the-shelf parsers (and language parsing is not a big deal, a tool like &lt;A href="http://www.antlr.org/"&gt;ANTLR&lt;/A&gt; reduces this problem pretty quick and provides a&amp;nbsp;whole lot more&amp;nbsp;besides)&amp;nbsp;what does having the language in XML really achieve? 
&lt;P&gt;As I said in my earlier post the only future I see for this (long term) is if it makes it significantly easier to build coding toolsets such as refactoring engines and intelligent IDE's.&amp;nbsp; Maybe if these languages came with some kind of &lt;A href="http://www.w3.org/TR/owl-ref/"&gt;OWL&lt;/A&gt; ontology to allow their comprehension by other languages or toolsets... 
&lt;P&gt;Otherwise what's the point?&amp;nbsp; ASCII source is pretty easily transferred and I think XML tags can be a positive hindrance to comprehension (for which I cite the oft villified but&amp;nbsp;repeated attempts to produce concise or &lt;EM&gt;simple &lt;/EM&gt;XML variants).&amp;nbsp; But, hey, we can use namespaces to mix two different XML languages in one source file right?&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001152.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Free XML editor</title>
      <pubDate>Thu, 27 Feb 2003 09:28:02 +0000</pubDate>
      <description>&lt;FONT size=2&gt;
&lt;P&gt;Altova Offers Free Software License for Authentic 5 Browser Enabled XML Document Editor.&lt;/P&gt;
&lt;P&gt;Altova Inc. has announced the public availability of Altova's XML document editor product Authentic 5 under a free software license. Authentic 5 is a customizable, light-weight, and easy-to-use XML document editor. It allows business users to create and edit content through a web-enabled interface that resembles a word processor. Authentic 5 supports WebDAV and HTTP, with real-time document validation and multilingual spell checking. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;[From &lt;A href="http://xml.coverpages.org/ni2003-02-20-a.html"&gt;Cover&amp;nbsp;Pages Newsletter&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;Checking it out now.&amp;nbsp; I already use &lt;A href="http://www.altova.com/products_ide.html"&gt;XML Spy&lt;/A&gt; but this might be a better choice when editing markup for my new website (which I am hoping to deploy using &lt;A href="http://www.shelter.nu/xsiteable/"&gt;xSiteable&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Thank you &lt;A href="http://www.altova.com/"&gt;Altova&lt;/A&gt;.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001222.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/how-to-develop-software.xml" ent:id="how-to-develop-software" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Cross-browser XML scripting</title>
      <pubDate>Mon, 03 Mar 2003 09:28:40 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Those of you out there scripting XML on the client-side might find this usefull. Sarissa is a JavaScript library for scripting XML under Moz and IE. Methods to obtain DOM Document/XMLHTTP objects, Synchronous/asynchronous loading, XSLT transformations, implementation of some IE extentions for Moz, NodeType constants for IE...&lt;/P&gt;
&lt;P&gt;This is an alpha release and I hope people will come up with feedback on bugs and suggestions.&lt;/P&gt;
&lt;P&gt;Distributed under the GPL, but I may consider other licenses as well.&lt;/P&gt;
&lt;P&gt;More at&lt;/P&gt;
&lt;P&gt;&lt;A href="https://sourceforge.net/projects/sarissa"&gt;https://sourceforge.net/projects/sarissa&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[&lt;A href="http://lists.xml.org/archives/xml-dev/"&gt;Posted to xml-dev&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001249.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/big-media.xml" ent:id="big-media" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/iraq.xml" ent:id="iraq" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/the-shrub.xml" ent:id="the-shrub" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>InfoPath: Golden path or mantrap</title>
      <pubDate>Tue, 18 Mar 2003 11:18:09 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://www.docuverse.com/blog/donpark/2003/03/17.html#a358"&gt;OneNote and InfoPath&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;I just saw the demos for OneNote and InfoPath.&amp;nbsp; OneNote is just a glorified Notepad, no where as good as NoteTaker is.&amp;nbsp; InfoPath, on the other hand, is going to be a catalyst, an monster underwater earquake that will start a tsunami of changes across industries.&amp;nbsp; Its going to generate Office suite upgrade momentum as well as Microsoft server and middleware software sales.&amp;nbsp; Buy Microsoft stock.&amp;nbsp; Their revenue will rise sharply in the near future because of InfoPath.&amp;nbsp; I am not exaggerating, folks.&lt;/P&gt;
&lt;P&gt;[&lt;A href="http://www.docuverse.com/blog/donpark/"&gt;Don Park's Blog&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Reading Don's blog these past few months I've come to trust his judgement on this kind of thing.&amp;nbsp; The InfoPath &lt;A href="http://www.microsoft.com/office/preview/infopath/demo/sniff/enter.html"&gt;demo&lt;/A&gt; certainly offers&amp;nbsp;some attractive possibilities.&amp;nbsp; Looks like M$ may have a winner.&lt;/P&gt;
&lt;P&gt;Of course the usual M$ questions remain:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Not browser based, back to the proprietary client&lt;/LI&gt;
&lt;LI&gt;XML forms but not &lt;A href="http://www.w3.org/TR/xforms/"&gt;XForms&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;How easy will it be to work with non-M$ platforms&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I guess that the last question is, ultimately, key.&amp;nbsp; If InfoPath is just another &lt;A href="http://www.w3.org/TR/ws-arch/"&gt;Web Services Architecture&lt;/A&gt; client (and something that propels that future) then it's a good thing.&amp;nbsp; Otherwise...&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001292.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/radio-userland.xml" ent:id="radio-userland" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Damn the torpedos?</title>
      <pubDate>Tue, 18 Mar 2003 14:48:55 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://aspnetweblog.com/posts/3964.aspx"&gt;Six Reasons why InfoPath is DOA&lt;/A&gt;. &lt;/P&gt;
&lt;DIV class=entry id=When:9:28:32AM title="Six Reasons why InfoPath is DOA" link="http://aspnetweblog.com/posts/3964.aspx"&gt;&lt;A href="http://aspnetweblog.com/posts/3964.aspx"&gt;Six Reasons why InfoPath is DOA&lt;/A&gt;: &lt;Q lang=en-us cite=http://aspnetweblog.com/posts/3964.aspx&gt;
&lt;P&gt;Although he hasn't yet used it, &lt;A href="http://www.tallent.us/weblogx/"&gt;Richard Tallnet&lt;/A&gt; has posted an article, "&lt;A href="http://www.tallent.us/weblogx/PermaLink.aspx/672f734f-a8af-4248-b58e-4baa12eb9ba1"&gt;Six Reasons why InfoPath is DOA&lt;/A&gt;". They are all very valid reasons. I have a post to make later on the subject, but Richard is dead on with his take, this is not a tool for developers (but that does not mean its not a good tool in general).&lt;/P&gt;&lt;/Q&gt;Source: &lt;A href="http://DotNetWebLogs.com"&gt;.NET Weblogs&lt;/A&gt; &lt;A title="Permanent link to this item in the archive." href="http://archipelago.phrasewise.com/2003/03/18#When:9:28:32AM" rel=bookmark&gt;*&lt;/A&gt;&lt;/DIV&gt;
&lt;P&gt;[&lt;A href="http://archipelago.phrasewise.com/"&gt;Archipelago&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;An interesting rebuttal of the pro-InfoPath view.&amp;nbsp; All the reasons given are valid but I think the best are:&lt;/P&gt;
&lt;P&gt;1. No security.&amp;nbsp; This is likely to be a killer in any real deployment scenario.&lt;/P&gt;
&lt;P&gt;2. No infrastructure.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;But they forgot one thing: &lt;B&gt;what company in their right mind already has all of these key XML data formats defined, business logic developed, web services deployed, and lacks only a useful interface?&lt;/B&gt;. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;If there are no good answers to these questions then I think InfoPath is going to struggle to be anything more than a &lt;EM&gt;hype success&lt;/EM&gt; a la XBox.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001300.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/k-collector.xml" ent:id="k-collector" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>DTD for OPML</title>
      <pubDate>Thu, 27 Mar 2003 19:37:38 +0000</pubDate>
      <description>I'm about to edit some OPML files, I want to use my XML editor XML-SPY but it works best with either a schema or DTD.&amp;nbsp; Fortunately I was able to find an &lt;A href="http://xml.coverpages.org/opmlSteeleDTD.html"&gt;OPML DTD&lt;/A&gt; thanks to Wayne Steel.</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001330.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Getting ready for the 2nd public ENT draft</title>
      <pubDate>Tue, 15 Apr 2003 12:06:42 +0100</pubDate>
      <description>&lt;P&gt;I'd like to publish the 2nd public draft of the ENT1.0 specification soon.&amp;nbsp; Today if I can.&amp;nbsp; There have been a couple of clarifications, a fix to the examples (thanks to Phil Pearson) and a couple of issues to be cleared up.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The spec says that a topic ID must look like an XML NAME.&amp;nbsp; XML NAME is quite a restrictive set of characters and it looks like it wasn't such a good choice.&amp;nbsp; For example &lt;A href="http://www.tbray.org/ongoing/"&gt;Tim Bray&lt;/A&gt;&amp;nbsp;wants to use topic names like &lt;FONT color=darkblue&gt;sports/baseball/NYMets&lt;/FONT&gt; and XML NAME won't let him do that (I personally don't agree with him about his topic, but that's okay).&amp;nbsp; He suggests using something from the &lt;A href="http://www.w3.org/International/iri-edit/"&gt;Internationized Resource Identifer (IRI)&lt;/A&gt; specification because topic ID's are likely to end up as parts of URI's.&amp;nbsp; Good thinking Tim!&amp;nbsp; So, on this note, I propose changing the &lt;FONT color=darkblue&gt;XML NAME&lt;/FONT&gt; defintion to &lt;FONT color=darkblue&gt;IRI ifragment&lt;/FONT&gt;.&amp;nbsp; &lt;FONT color=maroon&gt;Does anyone have any comment about this?&lt;/FONT&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;I have some concern that the use of namespaced attributes, e.g. &lt;FONT color=darkblue&gt;&lt;&lt;/FONT&gt;&lt;FONT color=maroon&gt;ent:cloud ent:href&lt;/FONT&gt;&lt;FONT color=darkblue&gt;=""&gt;&lt;/FONT&gt; instead of &lt;FONT color=darkblue&gt;&lt;&lt;/FONT&gt;&lt;FONT color=maroon&gt;ent:cloud href&lt;/FONT&gt;&lt;FONT color=darkblue&gt;=""&gt;&lt;/FONT&gt; may cause some people problems.&amp;nbsp; It's perfectly valid XML but people aren't used to seeing attributes in namespaces and it may prove to be confusing.&amp;nbsp; Since we are trying to keep ENT simple and since I don't think it will matter too much either way, I am considering dropping the namespace on the attributes.&amp;nbsp; &lt;FONT color=maroon&gt;Does anyone have any comment about this?&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=2&gt;We look forward to your comments.&lt;/P&gt;&lt;/FONT&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001388.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/economics.xml" ent:id="economics" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/george-bush.xml" ent:id="george-bush" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/tony-blair.xml" ent:id="tony-blair" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>OML: Improving outlines</title>
      <pubDate>Wed, 16 Apr 2003 16:40:32 +0100</pubDate>
      <description>&lt;P&gt;Just came across a link to:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://oml.sourceforge.net/cgi-bin/blosxom.cgi/specification"&gt;OML: Outline Markup Language&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;which is an attempt to create a validatable XML language for describing outlines.&amp;nbsp; It's simple and, as you would expect, very similar to OPML.&amp;nbsp; Key differences are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The use of a &lt;metadata&gt; tag in the &lt;head&gt; section to allow generalized meta data to be used there.&lt;/LI&gt;
&lt;LI&gt;The provision of an optional &lt;data&gt; tag to contain an &lt;outline&gt; nodes contents (rather than packing it into a text attribute)&lt;/LI&gt;
&lt;LI&gt;The provision of an optional &lt;item&gt; tag for use in an &lt;outline&gt; node.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It is this last that is key to OML since the use of multiple &lt;item&gt; tags can replace the use of custom attributes within the &lt;outline&gt; node.&amp;nbsp; It is these custom attributes which can&amp;nbsp;prevent OPML from being validated.&amp;nbsp; They also make it inconvenient to use tools based upon DTD or schema when editing OPML documents (to which I can attest).&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001398.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/java.xml" ent:id="java" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>XPath-searchable blog</title>
      <pubDate>Wed, 17 Sep 2003 09:10:45 +0100</pubDate>
      <description>&lt;div style="margin-left: 40px;"&gt;&lt;a href="http://weblog.infoworld.com/udell/2003/09/16.html#a797"&gt;Kimbro Staken's XPath-searchable blog&lt;/a&gt;.
Kimbro Staken's new blog software, built on top of Sleepycat's Berkeley
DB XML, echoes a theme I've been working with myself for a while. A
collection of well-formed weblog entries is, implicitly, an XML
database whose contents can be searched and intelligently recombined.
I've been toying with a simple file-based solution that creates an
XPath search interface to my blog content. Kimbro's approach takes the
next step:
&lt;/div&gt;
&lt;blockquote cite="Kimbro Staken" style="margin-left: 40px;"&gt;Now the
really interesting feature of this system is that it's really an XML
database Web Service. I exposed an XPath query facility through the URL
so that the database can be queried via HTTP GET. [&lt;a href="http://www.xmldatabases.org/WK/blog/262?t=item"&gt;Inspirational Technology&lt;/a&gt;]
&lt;/blockquote&gt;
 
&lt;div style="margin-left: 40px;"&gt;&lt;b&gt;...&lt;/b&gt; [&lt;a href="http://weblog.infoworld.com/udell/"&gt;Jon's Radio&lt;/a&gt;]&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
Funky (in a good way)!&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001622.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Forms and XML</title>
      <pubDate>Tue, 23 Sep 2003 20:26:47 +0100</pubDate>
      <description>One of the projects I am involved with at the moment involves a large
scale application of forms, XML and document management.&amp;nbsp; We're
looking at using Adobe Forms as the front-end technology and hoping to
have them produce XML (although it remains to be seen if this will be
possible in the pilot timescale).&lt;br&gt;
&lt;br&gt;
Today I started playing with &lt;a href="http://www.w3.org/XML/Schema"&gt;XML Schema&lt;/a&gt;
in anger.&amp;nbsp; Since I don't want to edit by hand I am testing tools
for both schema and general document editing.&amp;nbsp; Currently I am
evaluating &lt;a href="http://www.tibco.com/solutions/products/extensibility/turbo_xml.jsp"&gt;Tibco's Turbo XML&lt;/a&gt;.&amp;nbsp;
It seems quite capable if a little clunky.&amp;nbsp; Does anyone have any
opinions?&amp;nbsp; Or recomendations of tools they like?&lt;br&gt;
&lt;br&gt;
Even though the client has OpenText Livelink we're taking a good look at XML storage.&amp;nbsp; In particular &lt;a href="http://www.sleepycat.com/products/xml.shtml"&gt;Sleepy Cat's DB XML&lt;/a&gt; seems to have a lot going for it.&amp;nbsp; Native XML storage and query has a lot of attractive possibilities.&lt;br&gt;
&lt;br&gt;
More later.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001643.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Regular expressions question</title>
      <pubDate>Wed, 19 Nov 2003 22:25:54 +0000</pubDate>
      <description>I want to write a regular expression that matches any XML entitiy
except the built-in entities.&amp;nbsp; To match the built-in entities I
would use:&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;&amp;(amp|lt|gt|apos|quot);&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
so what I think I want to do is invert the middle section.&amp;nbsp; But
inversion only works within a character class leaving me a bit puzzled
about how to say "anything that doesn't match the middle part of this
expression."&lt;br&gt;
&lt;br&gt;
The best I've come up with so far is:&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;&amp;([^a][^m]?[^p]?.*|[^l][^t]?.*|[^g][^t]?.*|[^a][^p]?[^o]?[^s}?.*|[^q][^u]?[^o]?[^t]?.*);&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
which seems a little inelegant.&amp;nbsp; Can anyone suggest a better approach?&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001740.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Effective XML</title>
      <pubDate>Mon, 19 Jan 2004 17:44:29 +0000</pubDate>
      <description>&lt;blockquote&gt;
&lt;p&gt;Book Notice: &lt;a href="http://www.cafeconleche.org/books/effectivexml/"&gt;Effective XML&lt;/a&gt; Elliotte Rusty Harold, Polytechnic University, Brooklyn NY&lt;/p&gt;
&lt;p&gt;Addison-Wesley (Pearson Education) has published Elliotte Rusty Harold's new book, Effective XML.  The author provides fifty (50) practical rules of thumb for improving XML strategies, based upon real-world examples.&lt;/p&gt;
&lt;p&gt;Effective XML is thus a collection of guidelines and best practices for using XML. It focuses on using and developing XML applications, with a particular emphasis on aspects of XML that are often misunderstood or misapplied. Since XML has become a fundamental underpinning of new software systems, it becomes important to begin asking new questions, not just what XML is, but one uses it effectively.  Which techniques work and which don't?  Perhaps most importantly, which techniques appear to work at first but fail to scale as systems are further developed? XML can be used to produce robust, extensible, maintainable, comprehensible systems or it can be used to create masses of unmaintainable, illegible, fragile, closed code. [&lt;a href="http://xml.coverpages.org/"&gt;XML Cover Pages&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Books with titles like 'Effective XXX' have had a good history for me (Effective C++ and Effective Java spring to mind).  This one looks interesting.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001840.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/aggregators.xml" ent:id="aggregators" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/blogging.xml" ent:id="blogging" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Software customisation the BeanShell way</title>
      <pubDate>Fri, 30 Apr 2004 11:04:40 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://weblog.infoworld.com/udell/2004/04/27.html#a983"&gt;Radical software customization&lt;/a&gt;. The always-interesting Sean McGrath has a great column this week about software customization. He says, in part:
  &lt;blockquote class="personQuote SeanMcGrath"&gt;
In order to stay sane, most programmers concentrate on the part of the
problem they are working on today. As a consequence, their view of what
pieces of the functions under development need to be parameterized and
which do not, tends to be a quite low level. Indeed, most of the items
programmers will chose to parameterize will amount to double dutch to
the business analysts. [&lt;a href="http://www.itworld.com/nl/ebiz_ent/04272004/"&gt;Sean Mcgrath: The mysteries of flexible software&lt;/a&gt;] 
  &lt;/blockquote&gt;

In the companion &lt;a href="http://seanmcgrath.blogspot.com/archives/2004_04_25_seanmcgrath_archive.html#108305574138645334"&gt;blog entry&lt;/a&gt;
Sean gives the example of a Jython script that he used, instead of an
XML configuration file, to parameterize a piece of software. It
illustrates, by example, one of the points I tried to make in my recent
  &lt;a href="http://www.itconversations.com/transcripts/117/transcript117-1.html"&gt;IT Conversations&lt;/a&gt;
interview with Doug Kaye. Dynamic languages are a great way to record
data when a solution is fluid and requirements are evolving. And, come
to think of it, when aren't those things true? &lt;b&gt;...&lt;/b&gt; [&lt;a href="http://weblog.infoworld.com/udell/"&gt;Jon's Radio&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;

&lt;br&gt;I've seen the power of this approach too.&amp;nbsp; When I needed a way
to run-time configure a customised Reflection package I was originally
going to write a configuration file, maybe a .properties file or, since
everything must be XML these days, use some cool XML syntax.&amp;nbsp; Just
as I was gritting my teeth at the thought of parsing XML to read in
class names, light dawned!&lt;br&gt;
&lt;br&gt;Took a leaf out of the &lt;a href="https://dynaop.dev.java.net/"&gt;Dyanop&lt;/a&gt; book I decided to use a &lt;a href="http://www.beanshell.org/"&gt;BeanShell&lt;/a&gt;
script
instead. A simple modification to the Reflector class makes it execute
a pre-defined script when instantiated.&amp;nbsp; Before the script runs
the Reflector statically imports a method called &lt;b&gt;registerClass&lt;/b&gt; into the
scripts namespace.&amp;nbsp; The &lt;i&gt;configuration file&lt;/i&gt; is then a simple script as follows:&lt;br&gt;&lt;code&gt;&lt;br&gt;
// Generated file - Do not edit!&lt;br&gt;
//&lt;br&gt;
// This file configures the Db4o activator reflector package.&lt;br&gt;
//&lt;br&gt;
&lt;br&gt;
registerClass( com.evectors.persistence.samples.SampleComposite.class );&lt;br&gt;
registerClass( com.evectors.persistence.samples.SampleType.class );&lt;br&gt; &lt;/code&gt;&lt;br&gt;
Job done!&amp;nbsp; If the reflector ever requres more
advanced configuration options I can just add the appropriate methods
to the Reflector class and import them into the script namespace.&lt;br&gt;
&lt;br&gt;
And, best of all, not a &lt;a href="http://www.depeupleur.com/blog/TT_blog/archives/000016.html"&gt;hint of XML&lt;/a&gt; in sight!&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002151.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
  </channel>
</rss>

	</div>
</div>
<div id="footer">
	<div class="info">
Copyright 2006 Matt Mower -- <a href='http://squib.rubyforge.org/'>Squib</a> Version 0.4.0 (Release 282)&nbsp;&nbsp;Updated: 19/01/2006 19:01
	</div>
</div>
</div>
</body>
</html>