• « November 2004 | Main | January 2005 »
  • XSLT:Blog[@author = 'M. David Peterson']/Main: December 2004 Archives
              • December 31, 2004

                Ok all you MacAttackers, this ones for you...

                As many of you may know my buddy Russ Miles is a HUGE MacAttacker. When not writing code, books, or love poems to his fiance Kim I believe he spents his time writing similar poems to his Mac. Quite frankly if I was Kim I wouldnt put up with that kind of abuse but apparently shes a MacAttacker too so what can I say... :)

                Elliotte Rusty Harold in a post on Monday showcased the new XMLLib osax processor for OS 10.2.8+ which, when you visit the site showcases:

                Overview

                The XMLLib osax is a Scripting Addition, i.e. a plug-in for AppleScript. XMLLib osax implements the XML DOM in AppleScript. Features offered by the XMLLib osax include:

                * opening, validating, closing, saving a XML document
                * browsing an XML tree - parents, children, siblings
                * searching an XML tree - sending a XPATH request
                * editing, creating, removing an XML node
                * applying a XSLT stylesheet
                * handling XLinks

                Whenever this makes sense XMLLib carries references rather than explicit data, so your script will be able to process arbitrarily large XML documents virtually as fast as if you had been writing a C program - yet, in a more comfortable environment.

                So, in other words you can now process client-side XSLT on the Mac via Applescript!!!! Here's what Russ had to say on the matter:

                "In fact I have been running into my own XML/XSLT woes recently as there is no XSLT processing in the current. No big worries for me normally but since Safari is built on Apple's Webkit technology and so that can't seem to take advantage of native XSLT javascripting which is a real pain. So, to overcome this I am wrapping a native code chunk which then links into Saxon - but oh my goodness is that a messy state. Apple intends to have javascript XSLT processing 'at some point' but until it happens it's a bit nasty. Thought you might be interested, if only as an annoying shortcoming in XSLT processing. I tried naively to use Sarissa within Safari to achieve client-side XSLT processing but, of course, if there's NO support for XSLT in Safari that's a completely different thing from providing a common API between Mozilla/IE ... would be terrific if Sarissa or something similar could bridge the gap for a javascript enabled true XSLT/DOM implementation - but maybe that is unrealistic within the constraints of the language and I should just wait for Safari to catch up."

                Hey Emmanuil! Check this out: "..of course, if there's NO support for XSLT in Safari that's a completely different thing from providing a common API between Mozilla/IE ... would be terrific if Sarissa or something similar could bridge the gap for a javascript enabled true XSLT/DOM implementation - but maybe that is unrealistic within the constraints of the language and I should just wait for Safari to catch up."

                Whatcha think? Can it be done? I believe in you my friend!!! :D Seriously, if I can help please let me know as Russ not-so-pointed brings out if it ain't Safari it ain't Mac, and theres no way its geting used on any regular basis, bottom line.

                Hey, I just checked and you can pre-order Russ's new AspectJ Cookbook from Amazon now! Congratulations Russ!!!

                Posted by m.david at 09:32 AM | Comments (0) | TrackBack

                December 30, 2004

                Oh no you didn't just start that thread...

                NOTE: I started to write this post when it was highlighted to me that Mike Champion had pulled from an earlier comment on XML-DEV how cool it be do have a coding competition, with some very specific names paired up as possible crowd pleasers.

                I'm ALL for it!

                But,

                You do realize that you are asking for a "list" of reasons why XSLT 2.0 ROCKS! over 1.0 from a group of functionally minded religous fanatics who apparently happen to be masochistically natured as well! ;)) You think were gonna stop when we've beaten any and all existing .NET based technologies, Java, base at the transformations game, using XSLT 1.0? Ummm, did I mention the massachists part already?

                Merry Christmas to you all!

                Looking forward all in the new year! :D

                More soon...

                Posted by m.david at 03:59 PM | Comments (0) | TrackBack

                December 29, 2004

                Software-Marketing 101: Fear of the "What if...?" sells many more copies than does "Whats that?"

                Eyes, wallets wide open to XML traffic woes in 2005

                Want to send software sales through the roof?

                Step 1: Create fear by showcasing the absolute worst case scenario.

                Step 2: Write a software application or build a piece of hardware that fixes that problem before it ever becomes one.


                [DISCLAIMER: Please, please, please... don't take the comments made in this post to mean anything beyond having a little fun. I am in no way trying to suggest that there is not a very real problem with networks overloaded because of XML messages. This just seemed like a fun way to showcase that not all problems are as bad as they may sound or that not all solutions are as good as they might sound.]

                Step 3: If it never becomes a real problem focus your customer towards the fact that this is because they were the smart ones: they licensed and subsequently installed your product and furthermore through your excellent service things were kept running at a brisk pace even when things were "getting close" to their suggested capacity. "It's a trooper that beautiful piece of shiny and wonderful-whateveryoucallit thats now at the center of our network." will be said and congratulations made to whoever it was that made the inherently tough but without a doubt "right call" to get this product installed before the "dooms-day-from-hell" finally came into reality.

                Whoever that person is in the company, take them out to dinner and give them "your" season tickets to whatever basketball team your town happens to label as their own, suggesting further this persons heroic status is deserved of rewards much greater than this for it is through "his vision" that "his company" is now "enabled" [don't say what you mean by enabled, let him decide what that means because a "hero" is always going to think of much better things that have been "enabled" because of "his vision" and bring them out in random conversation at the water cooler which is ultimately more affective for your future dealings when its coming from his mouth instead of yours] and we all know how important being "enabled" truly is! Further stating "besides, with how "busy" things have become with practically every other company in the world knocking down our door after they heard that you guys have been using this for the last 6 months without a hitch I now hardly have time to eat much less attend extra-curricular activitees like NBA games 3 times a week." The final rivet in the "armor" that is now protecting your software from any other competitors attempted infiltration will come when you suggest "you see, if I had your vision and brain I could probably afford more outside activitees such as attending these games but there's only half-a-handful of individuals in the world with that level of intelligence & capability and if [updated-insert: ooops] you I were one of them [updated-insert: again, ooops] you I most certainly wouldn't be running the sales department at my company, I would OWN the company and be paying someone else to be doing all the hard work while I spent my time as a philanthropist, giving back all that I had been given and more and seeking further ways in which the blessing of this wealth could benefit the less fortunate".

                NOTE: If at any point during this dinner, and more specifically this speach, this person becomes so moved that you think you may see a tear or two puddling in the corner of his eyes, you may want to consider politics as this is where talent like that usually ends up.

                Step 3-A: If it does become a problem and somehow your software or hardware is part of that problem release a patch (any old patch will do, you're simply buying time while you track down the real problem and find a way to fix it.) That'll buy you two weeks while they install and test this new "patch" on all of their systems. Spend this time finding the real problem (at that point feel free to give me a call: My rates are high for cases like this but what other choice do you have, right? Besides you obviously didn't spend the money up front to hire anybody who knew what they were doing in the first place so its time now to pay your dues my friend. Sooner or later you knew this day would come so just bite-the-bullet and cough up the dough ;) :D ) and then release the final result of such expenditures as a .x upgrade (another patch infers the first one didn't work where as a a .x upgrade suggests that you are trying all you can to simply make the product product better, adding more features and performance enhancements at no additional cost because all .x upgrades are free, further showcasing your dedication to providing the finest products, with the best support, and a constant effort at giving your customers all they need and more.... thats just the kind of company you are.)

                Step 4: While you are still being deemed the hero of both scenarios hire someone who actually knows how to fix the real problem (by showcasing there never was one in the first place and that it was just bad software development and implementation practice that caused all the problems that are now being dealt with.

                That will be $22G's please ;)).

                Of course this will open the door for version 2.0 of your software or hardware, or better known as "The way things should have been done before you bought version 1.0 of this product in the first place." But by version 2.0 your customer will feel somewhat locked-in and now that it seems things are running SO-MUCH-BETTER than they ever have (duh!) this is obviously because they made the right choice in the first place by choosing to license and install your software, just like you suggested. Once again your'e a hero and can now begin to spin off new versions of products no one ever wanted or needed in the first place but because you obviously know best they're going to buy them anyway so what the hell, live it up! ;)

                Step 5: I smell a version 3.0 sometime in the not-so-distant-future and it will have this, and that, and all this other cool stuff as well -- or as the rest of us like to call it "vapor lock".

                Have a fun year "xoptimizing" your networks! :D

                Cheers!

                Posted by m.david at 11:55 PM | Comments (0) | TrackBack

                What good is a war when there's nothing left to fight about?

                XML.com: XQuery's Niche

                Has the time come to finally give rest to the XQvsXT debate? I might find myself *GRASPING* for filler content while I figure out what else to fill its empty void with but the fact that even after watching and in many ways participating in this debate via comments and post I learned more from this weeks XML-DEV column than I learned all week in actually reading the posts.

                Thanks Edd!

                Posted by m.david at 11:11 PM | TrackBack

                Mapping and Markup part 2?

                XML.com: Mapping and Markup, Part 2

                Guess I missed part 1 somewhere along the way but part 2 is most definitely interesting and as such now requires further insight into just what it was John covered in the first-go-round.

                Posted by m.david at 10:47 PM | Comments (0) | TrackBack

                My recent post to XML-DEV

                To all of you who don't subscribe or pay attention to XML-DEV here is a copy of my very first post to that list in regards to the up and coming xameleon project.

                FYI... the xameleon project I started a while back and have since
                held back the release while I completely rewrite the foundation of
                this library using FXSL and XSLT 2.0 allows you to use one base
                foundation (right now its XHTML elements that each have a possible
                child element called "style" with subsequent possible children for
                each CSS 2.1 property with children and/or attributes to further hold
                the names and values of each property for this particular element --
                this may be changing to SVG as its base as it is seemingly more
                natural to map an SVG-like syntax to XAML and XUL (XUL's proving to be
                a real pain in the butt but itll get there eventually) than it is a
                XHTML and CSS-based syntax to SVG, XAML, and XUL)

                Anyway the point of this post is to point out the fact that there is
                definitely recognition in the industry to the fact that the ever
                expanding plethora of XML-based declarative languages that abound, at
                least conceptually, in our development world these days is probably
                doing more damage than it is good, further separating platforms that
                actually are extensions to the same base platform (e.g. XUL in Mozilla
                and XAML via either Xamlon or Avalon in 90% of the cases run on top of
                the same GDI subsystem (or variation thereof) and as such provide just
                a slightly different enough syntax to really piss you off and force
                you into writing two or three or four versions of basically the same
                code base just to appease the various "users" who prefer this or that
                or whatever else (I really believe that a good dose of Lithium
                "silently" integrated into our water systems would do a world of good
                in curing the bi-polar disorder that is the declarative XML GUI
                definition language hell we have created for ourselves to now deal
                with --
                The supposed DLL Hell that was the 90's doesn't even hold a small blue
                birthday candle to the dXML Hell we are about to experience in this
                industry in this now almost 5 year old new millenium of ours.
                Unless...

                Again, the point of the "xameleon" project is to try and retain some
                sort of sanity by allowing you to build on one dXML language (d
                stands for Declarative if your'e wondering what I am refering to with
                the little "d") -- most likely SVG eventually for the reasons stated
                above, and then use the xameleon engine (powered by Saxon.NET which,
                by the way, I'm about 2-3 hours away from either releasing the 8.2
                beta 1 build or putting it to bed for the night and picking it up
                again tomorrow afternoon to then release tomorrow night instead --
                problems with jaxp compatibility stuff is the current and only slow
                down at the moment) to output the GENERAL GUI framework for each
                desired dXML output. I emphasize general as there are definitely
                areas in which are to far apart to do an adequate mapping job and as
                such require a bit of hand massaging after the fact... still, a few
                hours of massaging code is a lot better than a few weeks of developing
                a completely new code base so I think most people will be cool with
                it. Theres bound to be a winer here and there but to be honest I
                could give a -- wait, better not say that here... ;) I'm sure you get
                my point none-the-less ;)

                Some screen shots of the older C# based development UI can be seen
                here > http://www.x2x2x.org/x2x2x/images/xameleonGUIOne.gif < and here
                > http://www.x2x2x.org/x2x2x/images/xameleonGUITwo.gif <. I say older
                as I have since switched to a browser based UI that uses client-side
                XSLT 1.0-based code and javascript coupled with various ASP.NET
                controls and server-side based XSLT 2.0 based code coupled with
                Serverside ASP.NET components and .NET based webservices to make all
                the magic happen as it ultimately seemed to be the easiest way to
                ensure that you are always using the latest and greatest code base if
                I build it in the browser-based client/server webservices architecture
                that is made embarasingly easy (embarassing by the fact that my four
                year old can now write production ready code... if things continue
                going this direction pretty soon code is going to be writing us...
                still, it is nice being able to build a fairly significant application
                in 2 weeks when it would have taken 6 months using a classic Win32
                client/server architecture a few years back)

                So, those interested in following this project can add this link to
                their favorites folder > http://www.xameleon.org < and check
                perioducally for updates or just visit XSLTBlog.com and pick your
                favorite XML feed which will be updated when I make more headway on
                this project in the next few weeks... Don't panic if you go there
                (xameleon.org) and see just a basic UI as thats all I had time to
                develop when I first launched this project a few months back... it'll
                change soon and it will be at the xameleon.org address so its all
                good..

                Cheers!


                Posted by m.david at 07:31 PM | Comments (0) | TrackBack

                XML Code Sample Picks of the Day

                A new entry with this same title will be created and used each day to add an ongoing list of cool code samples I stumble upon throughout my day of development plunder, err, pleasure. Given the title they will tend to be XML-based samples but some may be more specific to Java or C#, or Python, Ruby, and Tcl and Tk as I am now learning a bit of, etc... with only light mention of XML anywhere in the post, if at all. So, in other words, a lot of these posts might be outside the box-model a but ;) But to know that there are actually other boxes out there and not just boxes but baskets, and globes, and pyramids a plenty to fulfill with power and dignity the role each technology was designed to do, and do well.

                The first one for today: (and then I'm going back to bed... just woke up to get drink of water and noticed this post from Kurt and thought it worthy of a quick showcase.)

                # Building a XUL Date Picker with XBL by Kurt Cagle

                Using XML as a language for defining classes (or more often "behaviors") is hardly new. The behavior components within Internet Explorer, which first utilized many of the same design patterns now used by XBL, working in much the same fashion - by assigning a CSS behavior property to an external "class" definition written in some form of markup you could turn an HTML object into a much more sophisticated object.

                In looking at this it reminds me I need to update the CSS on that site to make the code sample lettering white on dark instead of slightly dark on slightly darker, never a good thing. I'll do that now and then see you all later this morning/afternoon/evening, whatever time it may be for you here in about 6-7 hours.

                Cheers!

                Posted by m.david at 03:21 AM | Comments (0) | TrackBack

                December 28, 2004

                Too important just to point to...

                In a recent comment Dimitre Novatchev writes:

                snip...

                In this post he provides a link to the article "The Functional Programming Language XSLT - A proof through examples".

                While this was historically the first article on FXSL (published Nov. 2001), it is not the most friendly introductory material on the subject. It is also not a complete treatment -- a coverage of such important topics as *currying*, *partial application* and *dynamic creation of new functions* is provided in the second paper at the FXSL page -- "Dynamic Functions using FXSL: Composition, Partial Applications and Lambda Expressions"

                For best introduction into this topic I'd recommend my article and presentation at the Extreme Markup Languages 2003 conference, a pdf version of which is available at:

                http://www.idealliance.org/papers/extreme03/xslfo-pdf/2003/Novatchev01/EML2003Novatchev01.pdf

                There are also the presentation PowerPoint slides, but must be viewed with Office 2000 Powerpoint.

                snip...

                BTW... I dont mean to be ungrateful to Dimitre's compliments but the heart of the content and ultimatelly the most important part of what needs to be showcased is the above content and links. None-the-less Dimitre, thank you for your gratitude. The attention to FXSL is so very well deserved and so very important to the ongoing development of the XSLT development community. As such I will continue to find appropriate ways to highlight areas in which are important in understanding how to use FXSL in our code-base and subsequently have better and faster stylesheets because of this, built on a foundation that I absolutely believe should be standardized officially but none-the-less inherently through the work we all do with XSLT. I am currently in process of migrating my entire XSLT code base to FXSL and I will begin to showcase all code samples on this site with FXSL as its base. With as much code as I have to update I hope this can attest to just how important I believe this process to be.

                More on this soon! :D

                Posted by m.david at 09:47 PM | Comments (0) | TrackBack

                A cool little feature I've been using on other projects and will soon will be adding here

                Query Links on the Web

                In response to Bob DuCharme's latest post here is one method of one-to-many linking that I started using in a clients project and plan to start implementing on this site as well as use it as a major feature in a reference project soon to be released.

                The idea is to simply use a XML definition file that has a particular phrase, word, object, person, or web site reference to search for in an antry and subsequently add a pop-up list of possible links associated with this match. For example, to showcase all of the...

                [NOTE: In going through this there are some obvious issues that come when taking code from a system built in 100% client-side XSLT and another that is not. e.g. difficulty in creating dynamic CSS entries using movable type without adding in a bunch of additional code. For this example I'll hold off and let the concept speak for itself and showcase the correct usage at a later date when I launch the project this code was built for and subsequently torn out of for this post sample]

                x2x2x.org project sites in my entry I would simply put <x2x2x/> and, when processed by the XSLT processor before being posted would match the element tags name to the definition file and then list all the links in a pop-up activated when clicking what seems to be just a simple link. So by clicking [update: this is working in IE but there seems to be a problem with IE in which I am fixin now][update:fixed]


                x2x2x.org
                Building List...



                Shows all of the available x2x2x.org links. And by adding the <last-5-posts/> to the xml definition file for that page will insert this link:

                Last 5 posts
                Building List...

                ... in which when clicked will showcase the last 5 posts on this blog. Of course given that the XML and XSL are still located on the server as the files on the server change the links on the site change keeping the client up to date with the latest changes even though he or she may not have visited the site any time in recent history.

                You can view source to get the code for this if interested otherwise I will do a more thourough entry tomorrow with a detail tutorial on how to implement this functionality on your site.

                Cheers!

                Posted by m.david at 08:15 PM | Comments (0) | TrackBack

                Strike that last "poster to xml-dev" comment...

                It seems I need to learn how to recognize the difference between the following two sequence of letters:

                Rys

                Champion

                I think its obvious how easily the mistake of mixing one with the other could be made if one is not careful. Apparently, I was not very careful. To my defense (and inherently pathetic attempt at an excuse) you Microsoft people all look and sound the same to me ;) :D

                All kidding aside my apologies for mixing up the fact that it was actually Michael Rys who made the comments in regards to the declarative nature of XSLT and XQuery that were subsequently deemed of "Excellent" quality [inserted-comment: In reading this again I realize I made it seem like I was doubting that it might be but later discovered it was. If this is the impression you got I assure you this is not what I intended to imply as obviously Michael Rys is one the the elite experts in this area of software development. I guess what I was meaning to imply was that in the mountains of content compiled on XML-DEV each day this was a gem and needed to be highlighted] and as such posted to become the "Official Answer of <XSLT:Blog />" for questions in regards to whether XSLT and XQuery are declarative languages and why.

                Thanks to Mike Champion for helping me clear this up by pointing out this obvious error. Again, my apologies.

                Oh, BTW... "MC", while stiff competition is heading your way, and from your own corporate bloodline none-the-less, I still think your going to take todays "HotMPoC" award so if you were at all worried, you can now be relieved in knowing that your award, for now, is safe. :D

                Posted by m.david at 06:49 PM | Comments (0) | TrackBack

                A very nice explanation to the question of "Are XSLT and XQuery declarative?"

                To keep you from rolling your eyes or believing that in some way the poster of this comment to xml-dev is the only persons opinion I deem as important in this world I am simply going to use the initials MC as a suggestion to who posted this reply to the question:

                In a recent post to xml-dev Michael Rys answers the following question:

                "...Except that, XSLT is a functional programming language, and from what I can see of XQuery, it has a lot of looping. SQL is a declaration of, well not my lexicon, a desired result set in the terms of relational calculus.

                Are XSLT and XQuery declarative?"

                In which the poster "MC" Michael Rys stated:

                NOTE: Before you click that link... no, don't do it... STOP!!!! Hmmm... well, for those of you still with us please visit this paper by Dimitre Novatchev to further your understanding as to whether or not XSLT can even really be considered a true functional-language... Ok, you're back... now aren't you inherently glad that you followed my first advice and chose instead to enrich your understanding of functional-programming and XSLT? Feel free to click ahead at anytime you feel comfortable in doing so (I'm like a human valium when I wanna be, huh?! ;):D)

                "Both XSLT and XQuery are declarative. The FLWOR in XQuery is not a loop but a declarative iterator like the SELECT/FROM/WHERE in SQL or the apply in CM LISP.

                The main advantages of declarative languages are that you need to write less code for achieving a given function point, you operate on a large set of data at once, and that an execution engine can apply rewrites (if they are based on an algebra) and other optimizations to execute it more efficiently.

                Procedural languages are much harder to optimize due to their often lower expressivness at the operator level, their one-item at a time processing model, and their tendency to allow and sometimes encourage programming by side-effect.

                Furthermore, declarative languages are less brittle towards changes in the physical design than APIs are. For example, an implementation that uses a push-parser and wants to move to a pull-based model has to completely change at the programming level, whereas a program using a declarative language does not notice any changes below.

                XMLReader/TRAX/SAX etc are APIs that mostly promote a one item at a time processing model and are embedded in mainly procedural languages. XQuery/XSLT and at least the XPath parts of the different APIs are declarative.

                Is there a place for both? Yes. Declarative languages often come with extensive support frameworks for the optimizers which may be overkill in a situation where small, hardcoded logic is needed. And you need them to build the declarative processing engines :-). But in general I have to agree with Dana that good XSLT and XQuery engines (or other higher abstractions) OVER TIME should offer enough benefit of scale, performance and ease of use, that the majority of implementers do not need to revert to the lower-level APIs.

                Note that this does not preclude that such engines will need optimization hints (e.g., to achieve 10% better streaming performance), physical design decisions etc.; or that one context decides to implement a predictable subset (see Arpan's posting).

                Best regards

                Michael

                PS: One of the big short-comings of hierarchical databases was that they basically offered only navigational APIs and were brittle towards physical optimizations and schema changes. XML is often compared to hierarchical databases (in the negative sense), but these people don't realize that declarative languages such as XQuery or XSLT and the ability to choose different physical designs and optimizations(including streams) without impacting the logical level make it much better than hierarchical databases and much closer to so-called non-first-normal-form (or NF2) models..."

                NOTE: To give proper credit the above came from Michael Champion Rys, today's official <XSLT:Blog /> Horder of the Most Posts or Comments award. Don't fret, maybe tomorrow you will be the victor in receiving this newly created but coveted none-the-less "HotMPoC" (correctly pronounced hottempock) award. I think I need to make some sort of certificate or something...

                Posted by m.david at 04:53 PM | Comments (2) | TrackBack

                Hmmmm.... VERY interesting comments by Mike Champion

                While I definitely plan to comment on Mike's comments a little later on I believe Mike deserves the respect of letting his points sink in before I fill your head with my opinions as to what the future holds for XSLT specifically and XML-based software development in general.

                His comments from my last post can be found in the... Why do I suddenly feel like Austin Powers in Las Vegas? Anyway...

                I think I have mentioned before that I am more than happy to host any and all conversations via comments and trackbacks specific to anything interesting which would include, for example, the fact that the Sonics ROCK and would exclude, for example, anything to do with the New York Yankees. There are a few other topics I would probably get annoyed by but I won't worry about mentioning what they are until they suddenly appear at which point I will delete them, claim my hard drive crashed and although I was able to save all of the content and almost all of the comments there were a few unfortunate casualties that just couldn't be salvaged from the wreckage, with a subsequent apology to you if they were yours.

                Beyond any unfortunate hard drive failures however can I make a suggestion? If there is anything you have to comment that is directed to Mike specifically as opposed to his comments in general my guess is that you will find a better response time posting to his blog instead of mine as, shocking as it may be, I haven't added Mike to the ping mechanism invoked when a comment is left on <XSLT:Blog /> In fact I haven't added myself to any such mechanism either as I tend to be around enough to notice when comments are left and don't need any more email telling me something I am already fully aware of. I will keep an eye on his blog and if anything interesting arises I will point to it otherwise I will just leave things be for now.

                Thanks for the comments Mike!

                Posted by m.david at 09:25 AM | Comments (0) | TrackBack

                Bear with me on this.... read the following paragraph, memorize the general meaning, close your eyes, and...

                Think.

                This is the paragraph:

                "I think the way forward is to focus on what it does that nothing else does well -- querying XML stores -- and not promoting it as an alternative to existing, more mature technologies."

                Do you have it memorized? If not, here are the key phrases:

                - Focus on what it does that nothing else does well -- querying XML stores.
                - ...not promoting it as an alternative to existing, more mature technologies

                Do you have it memorized now? How about changing the format to questions:

                - Does this technology do something that another technology can not?
                - What about this technology makes it better than pre-existing technologies that are already in use, mature, and understood by enough developers to make it useful in the real-world?

                Answers:

                - Ummm.... arguably yes. But then again... I guess it really depends on how dedicated you are to solving the problems with existing technologies or the next version of existing XML transformation technologies. Can the same result be returned by using another more mainstream, and as such proven language such as XSLT? And what about XSLT could we make better so that it could more easily solve the problems we are trying to solve with XQuery? Could libraries like FXSL and extensions like EXSLT do just as much with existing processors as we are trying to accomplish with XQuery (and the same goes for XSLT for that matter)?

                So then what about XSLT 2.0? Could we use an XSLT 2.0 processor like Saxon, build a dynamic XML query language to our specific liking, compile it, using the subsequent compilation to query our XML data stores, and further use the language we created as our personal base language for querying the same XML data stores? Could XSL Scripting languages such as XSLScript, NiceXSL, PXSL, and XMLStarlet
                be representative of such solutions, ultimately giving us the easier to implement and understand syntax we are looking for and yet not have to invest one single dollar in "new" technologies that ultimatelly give us nothing more that what we already have minus a few little nifty gadgets to play with here and there? Can we live without these little gadgets, finding ways to solve them with existing languages and processors? And wait, while were thinking about it, can't we use the same underlying XML processor to implement both XSLT 2.0 and XQuery? And if yes, why don't we just finalize the spec, build the damn processor, and work out the details of the language dynamically at a later date and in a syntax that we inherently like better just because we do?

                Damn it I think we might be on to something here!

                Question:

                WHAT DO WE ULTIMATELLY GET WITH XQUERY THAT WE CAN NOT DYNAMICALLY CREATE AS WE NEED IT USING THE SAME PROCESSOR AS XSLT 2.0 IS BUILT ON?

                OR

                WHAT CAN WE SOLVE RIGHT HERE AND NOW WITH EASE USING SOME OTHER TECHNOLOGY THAT WE ALREADY HAVE OR WITH A TECHNOLOGY THAT BUILDS UPON AN EXISTING BASE OF BOTH PROCESSORS AND DEVELOPER UNDERSTANDING?

                By the way, the above quote is from Mike Champion, somebody who kind of knows what hes talking about.

                But wait, before you XSLT champions walk off in belief some battle has been won, you'd best think again. These are the questions that companies like Microsoft, and Sun, and Apple, and IBM, and Oracle, and BEA, and Google, and shutup M. we get your point, are having to ask themselves right this very moment. Why should we invest millions of dollars into these technologies when they don't give our customers anything more than what they have already and are simply not willing to accept this as such? Can we put these same millions into other technologies that further advance computing in the direction we believe it should be headed and ultimatelly give our customer base exactly what they are telling us they want, even though they can't quite find the words necessary to tell us in easy to understand terms (kind of like XQuery does? err, wait.. ummm... hmmmm... well... uhh...)? And ultimately...

                Can't we just start over at the beginning, using customer experience instead of bureaucratic opinion as the basis for building the standards in which the future of the WorldWideWhatTheHellWillTheyThinkOfNext will be based?

                I sure as hell hope so 'cause it seems that what we've got ourselves here is a mess... Anybody feel like writing some code and solving some real-world problems instead? Just a thought....

                Oh, I got an idea... lets create an easy way to query XML stores using a familiar SQL-like syntax so that we can then further use that data within our applications to do cool stuff with. We could call it XQuery! And then we could... err, maybe we could just stop there and get on with it and stop trying to be the bigger and better alternative to everything and just kind of do what SQL ultimately does, passing the data on to some other process, written quite possibly in some other language it knows nothing about nor does it care as once its job is done it can kick back and sip on Pina Coladas until the next request to access or do something to some data arrives from some other process written in some other language by some other developer who simply wants to verify that the same 16 digits offered on a web form match that in which is stored on file, allowing it to continue accumulating cash flow like a good little server process is supposed to do.

                I like the idea. It has merit.

                Moving on...

                ---

                In further developments here at <XSLT:Blog />, I have another Mike Champion quote to use for the XSLT Quote of the Day (that Mike Champion, he's always giving me such great content to document and write about... Thanks Mike! ;)... Sorry XQuery, but the giving holidays are now officially over... now all thats left is the celebration of the old year passing and the new year beginning.... kind of like.... no, I better leave it alone for now ;)

                Have a happy day! :D

                Posted by m.david at 03:35 AM | Comments (1) | TrackBack

                December 27, 2004

                XML and XSLT used to create the alphabetically sorted and individual/entity separated listing

                For those interested I’ve posted the quick and dirty XSLT along with the XML source in which I used to create the new “Legends of the XSLT Community” listing with proper sorting and seperation of individuals and entitities. There are some obvious problems with this code. First, by using the “quick and dirty” sort method of:

                <xsl:sort select=”substring-after(., ’ ‘)”/>

                “G. Ken Holman” is sorted via “Ken” instead of “Holman” and “George Christian Bina” by Christian instead of “Bina”. I doubt this is going to cause any major rumblings in the community but obviously this is a problem if you were to use this code to do your own sorting.

                I also prefer to separate out the formatting, in this case HTML elements and CSS classes, in a separate XML file so that it’s easier to use the same code for other output formats using a “output-definition” file to define what the output elements should be. But as I mentioned this was quick and dirty code to get the new “Legends of the XSLT Community” properly listed and sorted. I’ll update the code-base once I have a chance later this afternoon.

                Until then, enjoy!

                The XSLT:

                <?xml version="1.0"?>
                <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
                  <xsl:template match="/members">
                    <div class="right-side-head-title">
                      <h2>Legends of the XSLT Community</h2>
                    </div>
                    <div class="right-side-head-sub-title">Individuals</div>
                    <div class="legends-container">
                      <xsl:apply-templates select="member[@type = 'individual']">
                        <xsl:sort select="substring-after(., ' ')"/>
                      </xsl:apply-templates>
                    </div>
                    <div class="right-side-head-sub-title">Entitities</div>
                    <div class="legends-container">
                      <xsl:apply-templates select="member[@type = 'entity']">
                        <xsl:sort select="substring-after(., ' ')"/>
                      </xsl:apply-templates>
                    </div>
                  </xsl:template>
                  <xsl:template match="member">
                    <div class="legends">
                      <a href="{@href}">
                        <xsl:value-of select="."/>
                      </a>
                    </div>
                  </xsl:template>
                </xsl:stylesheet>
                

                The XML:

                <?xml version="1.0" encoding="utf-8"?>
                <members>
                  <member type="individual" href="http://www.jclark.com/">James Clark</member>
                  <member type="individual" href="http://www.adambosworth.net/">Adam Bosworth</member>
                  <member type="entity" href="http://www.microsoft.com/">Microsoft Corporation</member>
                  <member type="individual" href="http://www.Saxonica.com">Michael Kay</member>
                  <member type="entity" href="http://www.Saxonica.com">Saxonica, Ltd.</member>
                  <member type="individual" href="http://www.JeniTennison.com">Jeni Tennison</member>
                  <member type="individual" href="http://www.dpawson.co.uk">Dave Pawson</member>
                  <member type="individual" href="http://www.dcarlisle.demon.co.uk/david/">David Carlisle</member>
                  <member type="individual" href="http://www.xmlshoestring.com">Wendell Piez</member>
                  <member type="individual" href="http://norman.walsh.name">Norman Walsh</member>
                  <member type="individual" href="http://fxsl.sourceforge.net/">Dimitre Novatchev</member>
                  <member type="individual" href="http://www.cranesoftwrights.com/">G. Ken Holman</member>
                  <member type="individual" href="http://blog.tkachenko.com/">Oleg Tkachenko</member>
                  <member type="individual" href="http://www.snee.com/bob/">Bob DuCharme</member>
                  <member type="individual" href="http://uche.ogbuji.net/uche.ogbuji.net/">Uche Ogbuji</member>
                  <member type="individual" href="http://skew.org/">Mike Brown</member>
                  <member type="entity" href="http://www.exslt.org/">EXSLT.org</member>
                  <member type="entity" href="http://www.fourthought.com/">Fourthought</member>
                  <member type="entity" href="http://4suite.org/index.xhtml">4suite.org</member>
                  <member type="entity" href="http://topxml.com/">TopXML.com</member>
                  <member type="individual" href="">Johannes Döbler</member>
                  <member type="individual" href="http://sync.ro/">George Christian Bina</member>
                  <member type="individual" href="">Salvatore Mangano</member>
                  <member type="individual" href="">Martin Rowlinson</member>
                  <member type="individual" href="">B. Tommie Usdin</member>
                </members>
                

                The output:

                <?xml version="1.0" encoding="UTF-8"?>
                <div class="right-side-head-title">
                  <h2>Legends of the XSLT Community</h2>
                </div>
                <div class="right-side-head-sub-title">Individuals</div>
                <div class="legends-container">
                  <div class="legends">
                    <a href="http://www.adambosworth.net/">Adam Bosworth</a>
                  </div>
                  <div class="legends">
                    <a href="http://skew.org/">Mike Brown</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.dcarlisle.demon.co.uk/david/">David Carlisle</a>
                  </div>
                  <div class="legends">
                    <a href="http://sync.ro/">George Christian Bina</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.jclark.com/">James Clark</a>
                  </div>
                  <div class="legends">
                    <a href="">Johannes D&#195;&#182;bler</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.snee.com/bob/">Bob DuCharme</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.Saxonica.com">Michael Kay</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.cranesoftwrights.com/">G. Ken Holman</a>
                  </div>
                  <div class="legends">
                    <a href="">Salvatore Mangano</a>
                  </div>
                  <div class="legends">
                    <a href="http://fxsl.sourceforge.net/">Dimitre Novatchev</a>
                  </div>
                  <div class="legends">
                    <a href="http://uche.ogbuji.net/uche.ogbuji.net/">Uche Ogbuji</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.dpawson.co.uk">Dave Pawson</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.xmlshoestring.com">Wendell Piez</a>
                  </div>
                  <div class="legends">
                    <a href="">Martin Rowlinson</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.JeniTennison.com">Jeni Tennison</a>
                  </div>
                  <div class="legends">
                    <a href="http://blog.tkachenko.com/">Oleg Tkachenko</a>
                  </div>
                  <div class="legends">
                    <a href="">B. Tommie Usdin</a>
                  </div>
                  <div class="legends">
                    <a href="http://norman.walsh.name">Norman Walsh</a>
                  </div>
                </div>
                <div class="right-side-head-sub-title">Entitities</div>
                <div class="legends-container">
                  <div class="legends">
                    <a href="http://www.exslt.org/">EXSLT.org</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.fourthought.com/">Fourthought</a>
                  </div>
                  <div class="legends">
                    <a href="http://4suite.org/index.xhtml">4suite.org</a>
                  </div>
                  <div class="legends">
                    <a href="http://topxml.com/">TopXML.com</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.microsoft.com/">Microsoft Corporation</a>
                  </div>
                  <div class="legends">
                    <a href="http://www.Saxonica.com">Saxonica, Ltd.</a>
                  </div>
                </div>
                

                Posted by m.david at 05:00 AM | Comments (3) | TrackBack

                What a wonderful, wonderful medium we have in WeBlogs

                In addition to the following suggested via a comment from Dimitre Novatchev (thanks Dimitre!):

                • Johannes Döbler
                • George Christian Bina
                • Salvatore Mangano
                • Martin Rowlinson

                I plan to add:

                • B. Tommie Usdin
                • and
                • Mulberry Technologies

                Again, all of these individuals and in the case of Mulberry Technologies, an entity, are obvious oversights in which should have been listed all along.

                NOTE: I need to be very careful in how I list the "Legends" as I would hate to imply that those at the bottom are any less important than those listed higher up. As such I am changing the list to alphabetical order, using last names as the basis for individuals and listing them seperate from entitities in which will also be listed alphabetically, starting with A. If there is enough support to change it to more of a Chronological listing I am up to make the change as such. I will leave it to comments to help decide if this or any other "ordering" should be the proper way to list members of this elite community.

                I guess one of the nice things about a blog stems from its definition found on Wikipedia:

                "A weblog, Web log or simply a blog, is a web application which contains periodic, reverse chronologically ordered posts on a common webpage."

                "reverse chronologically ordered posts" - Depending on how you define this phrase I could always suggest that the last were the first anyway, right? Hmmm... maybe not so much.... Anyway, I will get the list updated now and once again thank Dimitre for bringing to even further light just how incomplete the "Legends of the XSLT Community" list is at the momennt. Again, please, I mean no disrespect to anyone I have missed and gladly accept with open arms those in whom any of you feel is missing from this list and through silly oversight should have been listed all along. As soon as I saw the names Dimitre posted I felt like smacking myself upside the head as, again, they should have been obvious from the get-go. Without a doubt via help from community members such as Dimitre (and in his case an actual member of this elite community) this list will increasingly become an accurate portrayal of all the deserved members of the XSLT community who for various reasons should be considered "Legends of the XSLT Community".

                To the members of the "Legends of the XSLT Community": If there is a link that you would prefer me to send people to please let me know and I will make the change immediattely upon receiving and subsequently verifying (through alternative means if the senders email seems at all *odd* as to the implied sender) that this is indeed the link you want me to use. I mention the latter as I need to provide some sort of verification system to ensure that it is indeed you, the member, who is making the request.

                Posted by m.david at 03:22 AM | Comments (0) | TrackBack

                The Adam Bosworth Effect, and two more additions in Adam and Microsoft to the "Legends..." list

                Before anybody even has a chance to start typing:

                Dear <XSLT:Blog /> Editor (A.K.A. M. David Peterson):

                You are an idiot for leaving Adam Bosworth off this list... [followed by whatever other choice words you might have for me because of this...]

                can I just say that it was reading Adams latest post that reminded me of this obvious fact and got me going on this kick to get this list updated with each individual and/or entity that so rightfully deserves a spot as a member of this exclusive list of developers and entities who have had a positive affect on the XSLT development community as a whole. It also reminded me that I have planned for some time now to begin a section on this blog called "The Adam Bosworth Effect" which will be devoted to bringing to light the effect that Adam Bosworth has and will continue to have on each and every one of our lives, whether we be a computer user, developer, or both (giving way to the fact that not all developers are also users; a strange anomaly, yes, but a fact none-the-less.)

                So, with that said I would first like to Welcome Adam to the "Legends of the XSLT Community" in which he most definitely deserves a spot right next to James Clark himself as it is my belief that without the work of Adam Bosworth and his team of developers working on MSXML XSLT would have in no way reached the level of acceptance and use that it has today. I would also like to welcome the Microsoft Corporation to this list as it can most definitely be said that without Microsoft their would be no MSXML (ok, maybe too obvious of a statement) and furthermore without the embrace of XML and the early adoption and support of XSL via MSXML 2.0 (something that, ironically, can easily be pointed to as a reason we haven't seen an immediate jump to support the XSLT 2.0 standard -- burned once by early adoption of a standard why would you adopt and provide support for a standard that, as of yet, is still not a final recommendation of the W3C?) XSLT could in NO WAY be where it is today as far as its infiltration into nearly every area of an application, be it corporate or shrink-wrapped, client, client-server, or all-of-the-above.)

                I will be following this with much, much, much more.... but first let me be the first to officially welcome Adam Bosworth and the Microsoft Corporation into their rightful spots as members of the "Legends of the XSLT Community" here at <XSLT:Blog />

                Welcome Adam! Welcome Microsoft! Your contributions to this community I don't believe have ever been given the proper credit they deserve. I most certainly plan to do my part in changing that. Thank you for all that you have both done to help bring XSLT into the hands of each and every developer and computer user across the world.

                Posted by m.david at 02:25 AM | Comments (0) | TrackBack

                <XSLT:Blog /> welcomes TopXML.com to the Legends of the XSLT Community

                As if I needed any more reasons to make myself look like a fool it seems I forgot to add one *VERY* obvious entry into my last post. To try and avoid any further embarrassment <XSLT:Blog /> would like to welcome TopXML.com to the "Legends of the XSLT Community" section of this blog. If not obvious please visit TopXML.com and you will quickly understand why TopXML.com should be considered a legend of the XSLT community. TopXML has been promoting the use of XSLT for a very long time providing everything from sample code to complete applications built in XSLT to the development communities abroad.

                TopXML.com has been listed as a resource for XSLT on this blog since the very beginning. However by simple and what should have been an obvious oversight they were left off the "Legends" listing, a spot most definitely deserved. Welcome TopXML! My apologies for not realizing your absence from this list before now!

                Also, if there is any individual or entity you feel deserves a spot on this list please let me know. It has become obvious that if left to my own devices people or entities very deserved of a spot are being left off. As I mention at the bottom of the listing this is an ongoing list that can be added to at any time. Still, I would prefer to make sure that those deserved of a spot now are given a spot now. Thanks in advance for your help with this endeavor!

                Posted by m.david at 01:49 AM | Comments (2) | TrackBack

                <XSLT:Blog /> welcomes Uche Ogbuji, Mike Brown, EXSLT.org and subsequent contributors, 4Suite.org via the Fourthought Corporation, and Saxonica, Ltd. to the "Legends of the XSLT Community"

                In what is an obvious oversight of inidividuals and organizations who should have been listed from the beginning <XSLT:Blog /> would like to welcome the following individuals and organizations to the "Legends of the XSLT Community".

                • Uche Ogbuji
                • Mike Brown
                • EXSLT.org
                • 4suite.org via Fourthought

                Although Dr. Kay has always been listed, Saxonica has not. So in addition to the above I would also like to welcome Saxonica, Ltd. as a very deserved member of this list of inidividuals and now entities who make up this exclusive list of XML and XML Transformations professionals and organizations.

                I plan to follow-up this post in the coming weeks with specifics to why each member of the "Legends of the XSLT Community" deserves a spot on this list. But I don't think anybody who knows of these individuals or the contributions they have made to the support and further development of XSLT and related technologies will question my reasoning. My apologies to all of you of whom I have just added for not realizing before now that you were absent from this list. I thank each of you (specific to Uche and Mike and collectively to the organizations in which have now been listed) for all of your past, present, and ongoing contributions you have and I know will continue to make to the XSLT community as a whole.

                Cheers to all of you and, again, thank you!

                Posted by m.david at 12:45 AM | Comments (1) | TrackBack

                December 26, 2004

                WOW! I had no idea...

                I come from what you might term an international family. My father was born and raised in British India (of British descent), attending boarding school in the Himalayas. My mother was born and raised in a small town in Durham County (Northern England) called Chester-le-Street and later moved with her family to Rhodesia (Zimbabwe as it is now known) in southern Africa where her father took a job as a school teacher [CORRECTION: via my Mom: My father was a school teacher before going to Rhodesia. After arriving there he worked for 11 years as a buyer for the Rhodesian branch of Anglo-American, a large company owning mines for coal and other minerals in the southern half of Africa.] After moving to London and attending trade-school (focus on photography) my father took a job with the Rhodesian government as a photographer, something he had both a great love and great gift for. It's probably not to hard to figure out what happened from there.

                For various reasons that I won't go into now after giving birth to twin daughters (my first two sisters) and later to my third sister my parents decided they didn't feel comfortable anymore raising a family in this region of Africa (this was the early to mid 60's to those of you familiar with what was taking place during this stage of history in the southern regions of Africa) and as such applied for two sets of visa's; one for the U.S.A. and the other for Australia. To make a long story short the U.S.A. visa's came through first and before too long my family found themselves in California (where my brother, next older sister, myself, and my younger sister were born.) A few years prior my mothers family had applied for visa's and had sinced moved to Perth, Australia where they continued to raise their 5 remaining non-married children who ranged in age from 10 to 14 (a feat in and of itself!).

                The result of growing up in the U.S.A. when the rest of your cousins (18 in all) live in Australia is that you find yourself slowly getting to know them as either they come to visit us here in the U.S.A. or we (meaning myself and my brother and sisters) go to visit them in Australia. Believe it or not as much as I have traveled the world I have never had the chance to spend any time with my cousins in Australia so its been left to their visits to the U.S.A. that have prompted spending any significan amounts of time getting to know them in person.

                While I have gone road-trippin' around the western U.S.A. with my cousin Dan, snowboarding at Snowbird (one of the many world class ski resorts here in Utah) with my cousin Carl, and have hung-out with my cousin Russell before he took of to work as a councilor at a summer youth retreat here in the U.S.A. that would be about the extent of the time I have had to get to know any of my cousins at any great depth. This year my cousin Megan and her husband Brett came to spend Christmas with the "US Cousins", most of which have migrated to the state of Utah over the years (I tend to live in a hotel near "wherever my next contract takes me" but have a base here in SLC and just so happened to be here for the holidays.) Adding to my belief that "Aussie's" simply understand life in a different and inherently better way than we do here in the states, as always, it was a joy getting to know Megan and Brett and I am ever-so-grateful they chose to come and spend their Christmas holiday with us.

                A tradition (as it has become) for each visit to the US by one of the cousins is to bring with them a little piece of Australia to share with us here in the states. With as many of us as there are (7 cousins, each of us with children amassing to 24 -- so far) you can imagine both the time and cost incurred by such a tradition. Still, with each of their arrivals to Salt Lake International airport is found yet another suit-case full of Aussie treats for distribution to the hords of Storey descendants (my mother's maiden name) that abound in this region of the U.S.A. This time around, of course, was no different.

                I can't say for sure what other cool things were given to my siblings as Christmas gifts from down under but if they are anything like what was given to me I am sure they too are in awe by the wonder and amazement that is the continent "Down Under". I have always known Australia to be a place of wonder and intrigue, but to be honest, I had no idea:

                image1.jpg

                To be fair to the makers of this calendar and to try and make up for any copyright infringements I may have incurred by scanning and posting this picture, here is the company's web address who made this calendar: http://www.rankin.com.au.

                I will try and locate a place where you can purchase this calendar online as I don't see anywhere to place an order on this site. [UPDATE: Just had to look a bit harder... here is where you can purchase this calender from the publishers site] But let me just say that the rest of this calendar is just as incredible! What an AMAZINGLY beautiful country that I plan to visit now (as if I didn't have any reason to before ;)) ASAP!!!

                [MORE TO ADD SOON]

                Posted by m.david at 09:01 PM | Comments (0) | TrackBack

                XIncludes takes advantage of existing XML technologies

                LinuxElectrons™ - W3C Issues XInclude 1.0 as a W3C Recommendation

                Nothing new or exciting in this post but it does bring out the the fact that XInclude was specifically designed to take advantage of existing XML standards. You might be saying "uh, yeah, thanks for making the obvious even more obvious." But what is obvious to you may not be to someone else who is new to what has become a plethora of "X"-based technologies so I figured it was worth a post. That and the XML/XSLT-related news at the moment is thin (at best) so I figured something was better than nothing :D

                From the piece:

                XInclude 1.0 takes advantage of the XML Information Set (Infoset), and merges XML information sets. Therefore, it can be used with any version of XML, as well as other existing XML-related specifications, such as the XML-family components XML Schema and XSLT, as well as with XML applications such as the popular Scalable Vector Graphics (SVG) and VoiceXML 2.0 specifications. XInclude 1.0 also takes advantage of the XPointer Framework and can be used to include sub-resources, such as fragments of XML documents, that are identified by a separate xpointer attribute.

                Posted by m.david at 08:51 PM | Comments (0) | TrackBack

                December 25, 2004

                Christmas Lights in Salt Lake City

                Here in Salt Lake City there is a spectactular display of lights at Temple Square that literally brings in 100's of 1000's of visitors each year to see. With hands and fingers shaking from the cold it was a little difficult to keep steady and the picture quality is flat out awful and does nothing to bring out their spectactular real-life nature. Please forgive me as such. But in the spirit of Christmas I wanted to at least share these with you so you can see the beauty that abounds here in Salt Lake City just as it does all across the world during this time of celebration and joy.

                Merry Christmas everyone!

                Posted by m.david at 11:31 PM | Comments (0) | TrackBack

                December 24, 2004

                Concurrency, Parallel, and Functional Programming

                The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software

                While I am still reading and consuming this article the person who pointed me to this link brings out a good point: A
                functional language is by definition a parallel language, so they are
                the obvious winners in this situation.

                More comments to come once I have had more of a chance to digest this information.

                Merry Christmas everyone!

                Posted by m.david at 10:22 PM | Comments (0) | TrackBack

                December 23, 2004

                Do you or someone you love have a hankering for XQuery like none other

                While I would be more than happy to take on this project all by my lonesome self my guess is that members of the XQuery community would probably learn to hate, if not despise me for delivering my version of the XQuery news and current events as well as code samples showcasing just how powerful XQuery isn't. :) In fact if you visit XQueryBlog.com you'll see exactly what I am refering to.

                So heres your chance to take back whats rightfully yours (trust me, I sure don't want it!)... Please see the rules and regulations as outlined in the first post to XQueryBlog.com and then let me know if you feel that you can do justice in providing the latest and greatest in news and code samples of all XQuery has to offer (which shouldn't take more than an hour or two, tops! :)) If you have other ideas as to what to do with this site (for example, donate it to Goodwill or recycle the pieces by making Christmas wreaths with them ;)) please let me know and if I think its worth it I may just help you implement it.

                Posted by m.david at 04:54 PM | Comments (0) | TrackBack

                Umm, so who won this bet anyway?

                XML.com: XSL Considered Harmful

                I was recently pointed to this article in the archives of XML.com and my eyes are now swelled with tears of both laughter and joy. I'm guessing that TransforMiiX is the result of the begrudged team of so-called crack Mozilla developers (is that what has fueled the development of Mozilla all these years? Yikes!) having to pay up after losing this bet? If so it seems there is yet one more reason why G. Ken Holman is a member of the <XSLT:Blog/> Legends of the XSLT Community :).

                I don't think anybody is going to try and contend that CSS is not an overwhelmingly powerful and appropriate technology for the web and I know from my own development that the marriage of these two technologies begats power (on the web) unlike any other. And with the recent "re-gathering" of the SVG Working Group and their mantra:

                "...to help Web developers combine SVG with XForms, for example, to put SVG-based graphics or "skins" on Web forms. Another goal is to let developers determine SVG graphics using CSS (Cascading Style Sheets) and XSL (Extensible Stylesheet Language). Those recommendations let a single set of styling instructions apply to multiple Web pages."

                I think its safe to say that no one has really lost anything from this "declaration of war!" as it was obviously just a simple misunderstanding as to the purpose for XSL (both FO and T) in the first place. However if this bet had anything to do with Mozilla bringing TransforMiiX into existence I'm happy that this misunderstanding took place. :)

                Posted by m.david at 02:14 PM | Comments (0) | TrackBack

                Can you afford a $20 donation?

                I think we can safely say that Eric Meyer has taught a lot of us how to really take advantage of the power behind CSS. He recently posted a request to help his friend Dave reach his goal of raising $10,000 for the Leukemia & Lymphoma Society. I realize there are a lot of worthy charities out there that could all use a donation of $20. This is one more. If you can afford it this seems like a pretty good cause from someone who is doing all he can to help save someone he loves.

                Posted by m.david at 05:59 AM | Comments (0) | TrackBack

                XSLT Quote of the Day

                I was about to update the XSLT "Quote of the Day" with Yet Another Jab at XQuery when I thought "maybe something a little lighter would be more appropriate this close to Christmas."

                Okay XQuery, you're off the hook for this go round but don't get too excited, you're bound to become the object of my "affection" sometime again in the future :)

                I generally tend to try and not be self serving but someone emailed me that maybe I should use a quote from one of my older entries on Boeing Australia's use of XSLT in mission critical content management as a XSLT Quote of the Day entry. In going back and reading it again I did find myself chuckling a little bit so here it is...

                Brushing and Flossing with XSLT on a daily basis keeps your teeth clean and your breath fresh and minty. Furthermore you will suddenly become more attractive to the opposite sex and in some cases being called a “Sex God” or “Goddess” will become an all too common occurence.

                M. David Peterson from a December 1st post to <XSLT:Blog/>

                Enjoy!

                Posted by m.david at 04:59 AM | Comments (0) | TrackBack

                Interesting comments in regards to the use of XSLT 2.0 via Saxon.NET

                Adam Kinney's December Notes - XSLTSequelBetterThanTheFirst

                Adam Kinney brings out some interesting points as to the strength of using XSLT 2.0 as the basis for his BLAPP (Blog-based Application - Just made it up, who knows if it'll stick ;)

                Enjoy!

                [Update: Huh, who knew... (probably the blapp development team and users knew :) Leave it to Google to remind you that pretty much nothing we think of these days can be considered an original thought.]

                Posted by m.david at 04:35 AM | Comments (0) | TrackBack

                If you're not using HotLinks, you should...

                Hot Links - Keyword : xslt

                Simple keywords entered into the search box (or appended to the query string if adding a link to your blog, website, app, etc...) will allow quick access to links to articles of interest for that particlar category from such industry insiders like Mark Pilgrim et. Al. You can even filter by the "marker" of that link to narrow things a bit further or look at all posts by that particular link marker.

                Enjoy!

                Posted by m.david at 04:21 AM | Comments (0) | TrackBack

                Coverage of XML technologies in this Mono article

                apcmag.com: .NET for Linux

                A Novell Idea

                Although Novell doesn't actually own Mono, it has taken stewardship of the project and will be using Mono technologies extensively within its product line. The company's first deliverable is iFolder 3, an open source file sharing and synchronisation tool written entirely in Mono. An enterprise version will add better security.

                ---

                Ok, I'm not one who can complain about the use of cheezy titles but... Well, its a good article anyway.

                Posted by m.david at 01:09 AM | Comments (0) | TrackBack

                Hey, it's Kurt Cagle!

                Understanding XML

                Maybe now my previous posts make a little more sense.

                Welcome Kurt!

                [UPDATE: And I quote:

                "What's more important to you, me or your code?" There's a reason why bachelorhood seems to be an endemic state for programmers.

                I've been thinking of doing a post on the Top 10 Reasons I'm Single of which the first would be "I spend more time (and actually know what one is) watching an f'tailed feed of my various sites logfiles than I do dating." Now I have number 9 -- "My answer to Kurt Cagles supposed question to any possible dating partner would be "umm, Code." I think bachelorhood might be a trend lasting a little longer in my life than my family would like... ;) :D

                Posted by m.david at 12:09 AM | Comments (0) | TrackBack

                December 22, 2004

                Xalan C++ 1.9

                Cafe con Leche XML News and Resources

                via Eliotte Rusty Harold

                Posted by m.david at 11:52 PM | Comments (0) | TrackBack

                XSLT 2.0, XPath 2.0, XQuery 1.0, and Saxon.NET does them all

                Signs on the Sand: XQuery in .NET story isn't over yet

                As Oleg points out it seems the news that XQuery will not be part of the initial 2.0 release of the CLI (.NET) platform hasn't registered with a majority of developers. So, it seems that the Saxon.NET project has now been pushed to the forefront of support for all three major XML transformation technologies, XPath 2.0 being the foundation of both XSLT 2.0 and XQuery [80% of the XQuery spec is the XPath 2.0 spec.] And I thought 2005 was going to be a boring year for me... [Hah! Boring and my life have nothing in common]. Fortunately for you the Saxon.NET project is being managed by Pieter Siegers who has done and I know will continue to do a fantastic job of managing all of the efforts that are involved in delivering a project from start to finish, with every detail covered in between.

                Oh, BTW... Hey Microsoft: In case I hadn't mentioned it already, from all of us over on the Saxon.NET project, Thank You! I think I can speak for all of us when I say we really had no desire to do anything much else with our lives except provide full support for XSLT 2.0, XPath 2.0, and XQuery 1.0 on the first release of version 2.0 of the CLI framework. Eating and sleeping are really overated anyway. If the question had ever arisen "Do I eat, sleep, code, or provide development support in the forums?" that can now be reduced to "Do I code or provide development support in the forums?" Whoever said Microsoft doesn't help make the decisions we have in our life simpler obviously has no idea what they're talking about. :)

                Just so you all know if you have any specific questions as to anything related to Saxon.NET please direct them to Pieter and he will make sure they get forwarded to the right person involved with that aspect of the project. Up until now the development work has been me but as the IKVM.NET project has matured in HUGE amounts since we first started the project my job has become easier and easier with each release of the IKVMC (the IKVM.NET compiler.) As such more and more of the original Michael Kay Saxon code makes it into each release which means less and less hacks from yours truly (never a bad thing when it comes to me and Java :)) are required. Hopefully as we move forward we will see more development activity from other sources to help in everything from bringing development samples and tutorials into the mix to further integrating the into native support for all of the System.XML libraries. Wanna help? Contact Pieter :)

                Many questions have come up in regards to Saxon.NET and a complete C# port to the .NET platform. A lot of work has already been completed in this area but it is still undetermined as to how quickly such a port might be made available. This is one of MANY questions that Pieter will have to pull the team together to make a decision on as well as to speak with Michael Kay on the subject a bit more as, ultimately, it is Dr. Kay's thoughts on the matter that will have the greatest influence on such a decision.

                More details to follow as well as an idea as to when you will see Saxon.NET v.0.1.8.2.

                Cheers!

                Posted by m.david at 10:30 PM | Comments (0) | TrackBack

                December 21, 2004

                Welcome back SVG-WG!

                W3C recharges graphics group | Tech News on ZDNet

                The working group intends to help Web developers combine SVG with XForms, for example, to put SVG-based graphics or "skins" on Web forms. Another goal is to let developers determine SVG graphics using CSS (Cascading Style Sheets) and XSL (Extensible Stylesheet Language). Those recommendations let a single set of styling instructions apply to multiple Web pages.

                Posted by m.david at 09:29 PM | Comments (0) | TrackBack

                You gotta love Perl!

                Add RSS feeds to your Web site with Perl XML::RSS: Builder AU: Architect: Web Services
                Proper processing of XML data feeds such that they validate properly before being published is something of extreme importance, especially when you consider that these sources of information have in many ways become our own personal search service in which we have come to rely upon for access to the most recent data on the web. Feeds that don't validate can not be properly processed and as such the data in many ways is somewhat useless, if accessible at all.

                Have you Validated Your Feed Today?


                Another GREAT link
                to ensuring you're web server is sending the proper mime-type with the content it is serving. Mark-my-Words (and the words of about 10,000 other MIME type advocates) -- This both matters now and as HUGE im