January 28, 2006

JSON: Ajax without the cross-domain issues

I've just posted an introductory discusion on JavaScript Object Notation (JSON). What's itneresting about it is it provides away to get around the cross-domain issues you get when you try to access web services using Ajax. Yahoo's now outputting JSON in a ridiculously easy way, so this is worth checking out.

Posted by roadnick at 05:14 PM | Comments () | TrackBack

March 01, 2005

Yahoo releases web services API

Check it out over on the InformIT blog...

Posted by roadnick at 03:21 PM | Comments () | TrackBack

February 06, 2005

One click, yes. One aggregator, NO.

I've discovered that I'm generally cranky when I post to InformIT. My take on a one-click aggregation solution is no exception.

Posted by roadnick at 05:46 PM | Comments () | TrackBack

January 17, 2005

What I want in an aggregator

Almost a year ago, I wrote about what I want in an RSS aggregator, and now, as I actually write one in C++ (see, I told you I was doing it) I've gone back and found that all of those requests are still valid. And I still don't see anybody doing all of it.

Posted by roadnick at 11:53 AM | Comments () | TrackBack

December 16, 2004

Thanks, Adam!

Adam Kinney liked the XAML article. Thanks, Adam! Must have gotten it right, because Adam works at Xamlon. :)

Posted by roadnick at 11:31 AM | Comments () | TrackBack

June 17, 2004

Using the Generic Log Adapter with the Log and Trace Analyzer

Now featured on developerWorks: Using the Generic Log Adapter with the Log and Trace Analyzer

The GLA and LTA are Eclipse-based tools that enable logs to be parsed for occurrences of pre-defined events, relate those events to situations, and recommend actions based on information in a knowledge base. This tutorial is of particular interest to developers and administrators of applications with dependencies on multiple servers, such as DB2, Apache, and WebSphere. The key lesson imparted here is how to use the GLA to create your own adapter for custom application logs. Additionally, the tutorial introduces the underlying elements of the log adapter process. These low-level enablers of autonomic computing systems are an important contributor to the creation of more autonomic computing systems. This tutorial takes you through an example of how high-level open standards, such as the Common Base Event description, can be incorporated into development and administration functions at a practical level.
Posted by roadnick at 11:50 AM | Comments () | TrackBack

June 02, 2004

Understand the Autonomic Management Engine

Now on developerWorks: Understand the Autonomic Management Engine

"The idea of an autonomic computing system is attractive -- who wouldn't want a system that knows what to look for, and what to do if it finds it? But, building one from scratch is too much of an undertaking for most shops. Fortunately, the Autonomic Management Engine simplifies the process. This tutorial explains how AME works and shows you how to embed it into one of your own applications."

This is actually pretty cool. Well, I think so, anyway. :)

Posted by roadnick at 11:34 AM | Comments () | TrackBack

May 13, 2004

Mozilla and the potential for interaction

Ever heard of XUL? It's a new way of building web applications in Mozilla (and the newer versions of Netscape). Kind of like a "super" form, with all kinds of interactivity available. I still haven't had time to fool around with it, despite a brief interlude when it looked like I might have to write a tutorial on it, but check out the Mozilla Amazon Browser, a very cool look at what you can do with it. This link is via Jono Bacon's Mozilla and the potential for interaction, which is itself an interesting read, considering the idea of porting applications such as OpenOffice to XUL.

Cool.

Posted by roadnick at 09:05 PM | Comments () | TrackBack

Why I like XInclude

XInclude, designed to make it easier to include part of one XMl document into another, has been a neglected specification for a long time. Now Bob DuCharme gives a good example of how it can be useful with Transclude with XInclude (and XPointer!). It still doesn't address the security issues, but OK, there you are.

Posted by roadnick at 08:20 PM | Comments () | TrackBack

May 04, 2004

DOM and PHP

Now in the XML Reference Guide over at : DOM and PHP

PHP has support for XML built in, but as far as production code, it's limited to SAX. You can install the DomDocument module, but you do, of course, have to have access to the actual server in order to use it. Fortunately, for those of you who, like me, use an external web server and don't have that kind of control, there's a simple way to get Document Object Model functionality. ...
Posted by roadnick at 09:29 PM | Comments () | TrackBack

April 10, 2004

Java in XSLT: Extension Functions

Now on InformIT in the XML Reference Guide: Java in XSLT: Extension Functions

Using XSLT to transform XML into another form has a lot of advantages, not the least of which is flexibility. When you want to change the output, you don't have to go back to the code, you simply have to change the XSLT style sheet. But it's easy to mistake this simplicity for shallowness. XSLT can enable you to do much more than simply reformatting text.
Posted by roadnick at 04:09 PM | Comments () | TrackBack

March 04, 2004

Retrieving DTDs

John wrote:

> Hi Nicolas,
> I wonder if you could answer a problem I am having
> processing an XML file with a Java application. The
> XML file is ejb-jar.xml. There is a line referencing a
> DTD e.g. > Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
> "http://java.sun.com/dtd/ejb-jar_2_1.dtd">.
> However, when my internet connection or java.sun.com
> is down, I am unable to retrieve the dtd and thus get
> a FileNotFoundException. I have tried saving the dtd
> in the java classpath with no success. The error
> occurs when I call: builder.parse(new
> File("ejb-jar.xml"));
>
> Any suggestions or comments would be appreciated.
> thanks.../john

Hi, John!

The trouble is that the parser is trying to retrieve the file
from http://java.sun.com/dtd/ejb-jar_2_1.dtd. You can solve
this problem by saving a local copy to the same directory as
the XML file and changing the DOCTYPE declaration to read

"-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
"ejb-jar_2_1.dtd">

I hope that helps!

---- Nick

Posted by roadnick at 10:55 AM | Comments () | TrackBack

February 24, 2004

DOM and Perl

In the InformIT XML Reference Guide: DOM and Perl

Perl was originally designed as a lnaguage for sorting through text, so it's not surprising that it is a good fit for XML. In fact, there are multiple ways to handle XML using Perl, so in this section we're going to look at manipulating DOM "objects" using the Perl XML::DOM module, available on CPAN. ...
Posted by roadnick at 09:31 PM | Comments () | TrackBack

February 03, 2004

Integrating applications with Web services using WebSphere Studio V5.1.1

Now updated on developerWorks: Integrating applications with Web services using WebSphere Studio V5.1.1: "This tutorial looks at making your application Web-services ready using WebSphere Studio's tools to wrap an existing application as a Web service, announce it using a UDDI directory, and to discover and use Web services within your applications. It also looks at how to deploy your application to a WebSphere Application Server."

Posted by roadnick at 05:56 PM | Comments () | TrackBack

February 01, 2004

.NET and XMLReader

In the InformIT XML Reference Guide: .NET and XMLReader

In the world of XML, it's natural to think of XML in terms of two contexts: DOM and SAX. DOM is flexible, in that it provides the ability to navigate around the document tree and make changes, but SAX is fast, in that it doesn't load the entire document into memory, looking instead at just a single node at a time in a forward-only, read-only manner. ...
Posted by roadnick at 10:53 PM | Comments () | TrackBack

January 25, 2004

DOM and .NET

Well, I've finally gotten around to writing about .NET, with a section on DOM and .NET at the InformIT XML Reference Guide. It explains how to create an application in .NET that traverses the Document Object Model of an XML Document object. It uses Visual Basic .NET, but the concepts are the same for C#.

Posted by roadnick at 03:59 PM | Comments () | TrackBack

January 23, 2004

Microsoft and XML patents

Well, I've finally taken the gloves off and posted a snarky posting to InformIT, What? You mean you can read an XML file from another application?

The scoop? Microsoft is now trying to patent methods for reading an XML file produced by another application as a way to keep companies from building competing products that read a Word file.

But I've dropped my usual objective demeanor on this one. Let's see if anybody notices or -- gasp -- comments on the InformIT blog. I hope so.

Posted by roadnick at 05:48 PM | Comments () | TrackBack

January 19, 2004

News from the world of DSDL

OK, the first posting from the list is up. News from the world of DSDL incorporates items number 2, 3, 4 and 5 and talks about Document Schema Definition Languages, which aims to make it easier to validate documents that have data from more than one namespace, such as a SOAP envelope or an XHTML document with SVG embedded within it.

Posted by roadnick at 11:03 PM | Comments () | TrackBack

January 18, 2004

199 reasons I'm behind

I understand that there are people who read all of the blogs on their blogroll every day, or at least, every few days. And they even find time to comment on them. I want to know who these people are and how they manage to make a living.

I have, in essence, three blogs that I am supposed to be updating on a regular basis. I'm supposed to do at least three blogs a week for the XML Reference Guide, I've got this one, and I've got The Vanguard Science Fiction Report, which has been fallow so long I'm embarrassed to admit that it's mine. So today, now that the weeks of emergency room visits and surgeries in the family have settled down into the normal level of chaos, I sat down and went through my blogroll for potential posting material.

I thought it might be a little educational to document the "flow" of my surfing, and how it eventually gets turned into actual postings, so here is the list of the "first cut". These are postings that may eventually wind up on one of my three blogs:

  1. Incremental XML Parsing and Validation in a Text Editor
  2. XML 2003 session report: Combining multiple vocabularies without tears
  3. XML 2003 session report: News from the world of DSDL
  4. ISO/IEC 19757 - DSDL Document Schema Definition Languages
  5. Namespace Routing Language (NRL)
  6. Extreme Markup Languages 2004
  7. Escaping the Googlearchy
  8. Blogging Locally
  9. DocBook NG: The “Absinthe” Release
  10. DocBook NG: The “Bourbon” Release
  11. Going to Extremes!
  12. New Year Resolutions 2004.
  13. Reuters: Google Planning Email-based AdWords Service
  14. John Battelle's Searchblog
  15. eBay = The Fed
  16. IBM Almaden Research Center WebFountain
  17. Rocket Man
  18. Fontifier
  19. The XML in Apple's Keynote
  20. A specious supercomputer argument in the Irish Times
  21. Draconian XML processing
  22. Sleep Paralysis
  23. Spontaneous screen videos
  24. Dynamic categories
  25. Turning consumers into producers
  26. Server-based XPath search
  27. Databases get a grip on XML
  28. Thinking the Unthinkable about Microsoft
  29. Longhorn SDK
  30. PhotoGallery
  31. Two Laws of Explanation
  32. SIMILE : Semantic Interoperability of Metadata and Information in unLike Environments
  33. Quint on the FREDDY VS JASON dvd
  34. An Assload Of New Trailers Online!! STEPFORD, CB:TM, HIDALGO, SPARTAN, SCOOBY 2, ALGIERS, TOKYO GODFATHERS!!
  35. Van Helsing Trailer
  36. Batman Already On_SMALLVILLE??
  37. The WB's Stillborn FEARLESS!!
  38. WONDERFALLS
  39. Craigslist RSS Search Script
  40. Simplerwork
  41. Your final 3 hours
  42. Lost Who episode found
  43. SCI FI picks up Andromeda, Beastmaster
  44. Casting for Hitchhiker's Guide announced
  45. A real "space opera" in development from Turing Opera Workshop
  46. LeGuin's Earthsea to become Sci-Fi Mini-series
  47. Perchance to dream - anything you like with the fantasy machine
  48. A Real-Life Debate on Free Expression in a Cyberspace City
  49. 2003 in Review: DRM Technology
  50. Northwest gave U.S. data on passengers
  51. Luke Cage Making Progress at Sony
  52. CONFIRMED: Bob Hoskins Part of the Mask Cast
  53. Comic Book: The Movie Trailer Online!
  54. ELEKTRA MOVIE UPDATE
  55. Pre-Order the 2004 Superhero Movie Novelizations!
  56. JetBlue Redux: Northwest is guilty of violating passenger privacy
  57. New tech claims to detect lying in real time
  58. Safety killed the (Hubble) telescope star
  59. A version of Windows for every geek worthy of that name
  60. MoveOn.org demonstrates the growing power of the 'net in US politics
  61. Bush outlines plan for moon rendezvous by 2020
  62. The Internet gives a voice to Death Row, but not everyone's happy
  63. The Battle of Serenity Game
  64. Get your name.name domain
  65. US using EU airline data to 'test' CAPPS II snoop system
  66. SCO sort of thinks there are Linux IP violations, but isn't quite sure
  67. Niue is dead! Long live .nu!
  68. Nokia to release Perl for smartphones
  69. CinemaNow debuts download-to-own movies
  70. Internet 'Geek' Image Shattered by New Study
  71. We finally made it! Confluence 1.0b1!
  72. Wondering why your WAR is slow? Think of your timezone!
  73. SiteMesh Overview
  74. Jira
  75. The anatomy of a bug
  76. Sauron’s Eminent Domain
  77. Find Some Free Fonts
  78. Format an RSS Feed and Put It On Your Site
  79. New Google Features -- Travel and Tracking Numbers
  80. Watching Google Like a Hawk
  81. YSearch
  82. Google Labs
  83. PR Newswire's RSS (RDF Site Summary) Feed
  84. PR Bop
  85. Sun Announces Preview of Java Studio Creator Application Development Tool
  86. Integration: From Big Bang to Controlled Explosions
  87. Steve Mills On The IBM-Microsoft Web Services Partnership
  88. BEA, Microsoft, and Tibco Release WS-Eventing Specification
  89. StrikeIron Announces General Availability of the StrikeIron Web Services Analyzer
  90. Web Services in Action: Aligning IT with Business Objectives
  91. WS-I Make Available Drafts of Basic Profile Attachments Work
  92. BizDex: ebXML And Web Services To Go The Last Mile
  93. Four Ways to Know Your WSDL
  94. A Design Center for Web Services
  95. Mindreef Announces Availability of SOAPscope 3.0 Web Services Diagnostics System
  96. DreamFactory Launches Browser-Based Tool For Developing Rich Web Services Client
  97. Web Services Networks
  98. If You Like Web Services Standards You Would Love XML 2003
  99. Patterns: Service Oriented Architecture and Web Services - IBM Redbook
  100. Decentralised social networking
  101. Looking For a Gig
  102. On Postel, Again
  103. Technology Predictor Success Matrix
  104. History of XML Error Handling
  105. On Writing XML
  106. The truth about XML
  107. Microsoft Web services plan targets Java
  108. Straight talk on Web services
  109. Longhorn and the battle for Web services
  110. Breaking the logjam on Web services
  111. The real deal on .Net
  112. Taking XML's measure
  113. Longhorn and the battle for Web services
  114. Why Microsoft needs IBM this time around
  115. Developers gripe about IE standards inaction
  116. Raising the XML flag
  117. A Web services wish list
  118. Novell targets Web services security
  119. Free Writing and Music - as in Speech (MLP)
  120. What Good is the Second Amendment?
  121. CBS May Reject MoveOn.org Superbowl Ad
  122. Simulating Psychosis
  123. What Good is the Bill of Rights?
  124. Mars photo
  125. Pros and fans
  126. Which Star Trek Captain are you?
  127. Which Lord of the Rings character and personality problem are you?
  128. Lot auctions
  129. Rental Car Horror Story
  130. Isle of Man is the new M4 corridor
  131. Death of the desktop on the way in three years
  132. 5 years ago... Politicians warned to watch out for the web
  133. SAP Launches RFID Solution
  134. EFF Files Amicus in DirecTV 11th Circuit Appeal
  135. ACLU Defends Rush's Privacy Rights
  136. Web cam watchers help woman kicked by horse
  137. Security experts look to agriculture for virus clues
  138. Farenheit 451 + 1984 = Paranoia
  139. Hack for the Homeless: Primative Yet Useful
  140. A 'Xen' State of Being
  141. Secrecy Suddenly a Campaign Issue
  142. CBS Shields Pigskin Fans From Ads
  143. Florida Video Law: Parents Decide
  144. Diebold Gets Stay in California
  145. Doc Claims Human Clone Implant
  146. Off To A Good Start
  147. Cutting The Cheese
  148. Movable Style
  149. YAHTZEE!
  150. The Perfect 404
  151. Elastic Design
  152. Creativity
  153. Back to CSS Basics 3
  154. TouchGraph
  155. Off-Site Popups
  156. Microsoft: Communicate Or Die
  157. Innovation is Useless
  158. Top 20 Groups
  159. Carnival of the Capitalists by Ensight.org
  160. Back to Basics Part 3 — What’s in a hack?
  161. HTTP error pages for weblogs!
  162. Cute cuddly robots of DOOM
  163. Church Sign Generator used for fraud!
  164. Tat, meet tit
  165. Whidbey Integrated Web Services
  166. More on WS-Eventing
  167. WS-Security meets Kerberos
  168. Dutchtub
  169. Disaster photos
  170. Better MIDI sounds
  171. Scaling the Death Stars
  172. Honda Civic as H-Wing
  173. A Taste of Our Own Poison
  174. New "everyday neuroscience" book from author of Emergence
  175. nevermind
  176. and the winners are
  177. “Go find me a way to do this.”
  178. more please
  179. Common(s) Sense of Thomas Paine
  180. Dems on the Supreme Court
  181. 11 Top US Papers Ignoring Cheney's Pending Bribery Investigation
  182. Let's Send W to Mars
  183. PETA Gives Birth to Baby PETA
  184. Barlow on Spalding Gray: "Is he finally swimming to Cambodia?"
  185. Conservatives ALWAYS ADMIT THEYRE WRONG -- a hundred years later!
  186. more adventures in DEHUMANIZATION
  187. Sean Penn, DynCorp, and I TOLD YOU SO
  188. Bush environmental "achievements" for 2003: from Sierra Club's list
  189. Dr Phil versus Maury Povich - who'd win in a fight? (stuff that just aint right #2)
  190. Paranoid fears coming true in Ashcroft era
  191. And some XML tools mentioned on Cafe Con Leche:

  192. Arabica
  193. Render X Barcodes
  194. XQuisitor
  195. <oxygen />
  196. XMLBuddy™ 2.0
  197. Relaxer
  198. Render X XEP XSL Rendering Engine
  199. Python bindings for XML Security Library
  200. Mozilla 1.6 (now supporting "XML, CSS, XSLT, XUL, HTML, XHTML, MathML, SVG, and lots of other crunchy XML goodness.")

Even I can't believe how long the list is.

As you can see, it's a rather eclectic group, but it also shows the pattern of how I surf. (Note that I didn't even touch Op-Ed News today, because I know I have enough material for this blog, which is the only place it belongs, or the W3C because I've adopted a "monthly" schedule for them on InformIT.)

Over the next week or so, you can see what makes the cut and what doesn't, and what leads to other things.

Posted by roadnick at 10:25 PM | Comments () | TrackBack

How to survive the changes to IE

So I posted over at InformIT about How to survive the changes to IE.

So what are the actual changes? Well, it turns out to not be as bad as originally thought. The patent covers the automatic loading of an application that resides on a remote server, so a page either needs to avoid automatically loading the application or loading it from a remote server. For the former, IE will pop up a window asking the user to click a button to load the Active X control. For the latter, Microsoft has guidance on embedding the data directly into the page so that it doesn't actually have to be loaded remotely. They also provide a look at using JavaScript to create the object tag in such a way that the patent isn't violated, but you don't have to jump through a hundred hoops to keep the dialogue box from coming up.

What I want to know is: how does this embedding affect security? Is it possible that slimebags are currently embedding the code in the page to avoid warnings about downloading controls?

Posted by roadnick at 09:11 PM | Comments () | TrackBack

The evils of escaped markup

At the end of December, I wrote about The evils of escaped markup as seen by Normal Walsh. It was a well-though-out piece about why he doesn't like that people are using CDATA sections to escape potentially non-well-formed content, particularly in data feeds.

But the interesting thing to me is that I'd actually already written about this particular topic -- and in fact, this particular piece of Norman's -- last summer.

So far, nobody has noticed. Or if they have, they haven't commented.

I'm considering thinking of something completely ridiculous and controversial to say just to see if anybody notices. Suggestions welcome.

Posted by roadnick at 09:03 PM | Comments () | TrackBack

January 14, 2004

How to survive the changes to IE

I just commented over at InformIT about the changes to IT. Now that I see what they actually are, I can see that it's frankly not that big a deal. Or is it? The idea is that the patent covers the launching of a remote application, so instead, the plan is to get people to either create a script that creates the object tag or to embed the ActiveX control into the page as Base64.

So now I'm thinking: what kind of security concerns are engendered by the fact that the code is embedded on the page? Because they're not being downloaded, hwo will the user be able to filter out what they want to enable to run and what they don't?

Posted by roadnick at 10:36 PM | Comments () | TrackBack

DOM and .NET

In the InformIT XML Reference Guide: DOM and .NET

With XML so fundamental in Microsoft's .NET framework, it should come as no surprise that the ability to manipulate an XML document is built right into the system. In fact, although DOM Level 2.0 doesn't include a standard way to create or save a document, .NET makes it easy. In this section, we'll get a feel for how these manipulations work by using Visual Basic .NET to load a simple document, make some changes to it, and then save it back out to a file. (We'll be running directly from the command line, so if you're not familiar with GUI programming, don't worry.) ...
Posted by roadnick at 09:17 PM | Comments () | TrackBack

December 19, 2003

The relevance of standards bodies

So I was thinking over at InformIT about standards bodies and their relevance, but my really big question is this: what would happen if we all decided NOT to use an accepted standard, and used something else instead?

I mean, seriously. What if a group of scientists decided not to use the "accepted" names for the elements, or renamed the planets or something? I mean, there's no law about it, right?

Posted by roadnick at 11:39 AM | Comments () | TrackBack

November 27, 2003

An interesting use of CSS

In my research about cargo cults (more in a few minutes) I came across an interesting navigational element on the Apologetics Index. The menu stays as a tab on the left and travels when you scroll (though it's a tad distracting to start with) and pops out when you roll over it. My first thought is that it would be an accessibility nightmare, but now I'm thinking that if you did it right, you could make it work for those both with and without scripting support -- if the script doesn't work, the navigation simply appears -- and for those with traditional and non-traditional browsers.

Hm.

Posted by roadnick at 12:36 PM | Comments () | TrackBack

November 13, 2003

Semantic web blues

I commented more extensively on Clay Shirky's The Semantic Web, Syllogism, and Worldview over on InformIT, but I have one more point to question.

Clay's talking about syllogisms, and uses this one as an example of why thy don't work:

"Consider the following assertions:

- Count Dracula is a Vampire
- Count Dracula lives in Transylvania
- Transylvania is a region of Romania
- Vampires are not real

You can draw only one non-clashing conclusion from such a set of assertions -- Romania isn't real."

Excuse me? I think the main problem is that he's mis-understanding the difference between

A are B

and

All A are B

I commented more over at InformIT.

Posted by roadnick at 10:57 AM | Comments () | TrackBack

November 09, 2003

DOM NodeFilters and XML data binding

Now on developerWorks: DOM NodeFilters and XML data binding: Using a DOM NodeFilter lets you control the contents of a set of XML data without touching the base application, but the NodeFilter itself is still a class, and needs to be recompiled in order to make any non-trivial changes. This tutorial explains how to build a system that enables a user to control both the criteria for a report and the structure of that criteria simply by providing XML input, either through a file or through a web service, using XML Data Binding.

Posted by roadnick at 01:41 PM | Comments () | TrackBack

Create static jpg files from SVG

Apparently the Batik SVG package from Apache has a built-in rasterizer to convert SVG images to JPGs, so you don't have to rely on the user having an SVG viewer installed. Cool! Benoit Marchal explains how it works.

Posted by roadnick at 11:09 AM | Comments () | TrackBack

Grab headlines from a remote RSS file

Now on developerWorks: Grab headlines from a remote RSS file: This article shows you how to retrieve syndicated content and convert it into headlines for your site. Since no official format for such feeds exists, aggregators are often faced with the difficulty of supporting multiple formats, so Nick also explains how to use XSL transformations to more easily deal with multiple syndication file formats. (This was actually published in September.)

Posted by roadnick at 10:52 AM | Comments () | TrackBack

November 06, 2003

The XML book business

I am pretty darn proud of XML Primer Plus. I knew the subject well, and I worked hard on it. I also feel good about the fact that it covers not only Java, but also C++, VB.NET, Perl, and PHP, thanks to the help of some additional writers. The reviews have all been good, and even the four star review on Amazon says that the only reason he didn't give me five stars is because he feels that that levels should be reserved for "recognized experts in the field," which I clearly am not.

But sales have been, frankly, disappointing. I was feeling really bad about it -- until I found out that The XML Book Business is in the toilet. With very few exceptions (and frankly I can't think of any), nobody's XML books are selling.

So tell me, are you buying XML books? Why or why not?

Posted by roadnick at 11:17 PM | Comments () | TrackBack

July 29, 2003

Understanding SAX

Now on IBM developerWorks: Understanding SAX (Tutorial) -- This tutorial examines the use of the Simple API for XML version 2.0.x, or SAX 2.0.x. It is aimed at developers who have an understanding of XML and wish to learn this lightweight, event-based API for working with XML data. It assumes that you are familiar with concepts such as well-formedness and the tag-like nature of an XML document. In this tutorial, you will learn how to use SAX to retreive, manipulate, and output XML data.

Posted by roadnick at 12:14 PM | TrackBack

Understanding DOM

Now in IBM developerWorks: Understanding DOM (Tutorial) -- Even before there was XML, there was the Document Object Model, or DOM. It allows a developer to refer to, retrieve, and change items within an XML structure, and is essential to working with XML. In this tutorial, you will learn about the structure of a DOM document. You will also learn how to use Java technology to create a Document from an XML file, make changes to it, and retrieve the output.

Posted by roadnick at 12:11 PM | Comments () | TrackBack

June 05, 2003

Making of MetroSphere, Part 12: Hands-on JSP technology intro: Creating a community weblog

Now on IBM developerWorks: Making of MetroSphere, Part 12: Hands-on JSP technology intro: Creating a community weblog (Tutorial) -- This tutorial is for developers who want to learn more about using JavaServer Pages (JSP) technology to build applications. It discusses the basics of JSP components in general, their integration with JavaBeans, and the creation and use of custom tag libraries.

Posted by roadnick at 09:27 AM | Comments () | TrackBack

April 24, 2003

DOM and Java

In the InformIT XML Reference Guide: DOM and Java

Because XML is a platform-independant language, using Java to manipulate it seems a natural choice. In fact, more than one DOM (or more specifically, DOM-like) implementation exists for Java, and the tools necessary for working with it have even been built into the language itself as of version 1.4. ...
Posted by roadnick at 08:54 PM | Comments () | TrackBack

April 04, 2003

Combining XSL Transformation and Applications

Now on InformIT.com: Combining XSL Transformation and Applications -- Using transformations in applications is a powerful tool to control content and handle the presentation of your data. Learn how to not only combine style sheets, transformations, and applications to interact with different sources and outputs, but also how to make transformations more efficient and controllable.

Posted by roadnick at 02:23 PM | Comments () | TrackBack

March 18, 2003

Create multi-purpose Web content with XSLT

Now on IBM's developerWorks: Create multi-purpose Web content with XSLT (Tutorial) -- As more and more devices become Web enabled, it is crucial that your content be available in multiple forms, such as traditional Web pages, mobile phones or other small devices, or Web services. This tutorial shows you how to set up a Java servlet that detects the type of display that is necessary and automatically produces appropriate markup for the content that uses XSLT.

Posted by roadnick at 11:55 PM | Comments () | TrackBack

March 04, 2003

SAX-like apps in PHP

Now on IBM developerWorks: SAX-like apps in PHP -- While there is no official implementation of the Simple API for XML (SAX) in PHP, PHP does provide a SAX-like method for working with both local and remote XML files. In this article, author Nicholas Chase shows you how to work with XML files in PHP by building and setting handler functions and creating a parser. He demonstrates SAX in PHP with a page-building exercise in which he crafts a page based on the result of an Amazon Web Services query.

Posted by roadnick at 09:30 AM | Comments () | TrackBack

February 06, 2003

Integrating applications with Web services using WebSphere Studio V5

Now on IBM developerWorks: Integrating applications with Web services using WebSphere Studio V5 (Tutorial) -- This tutorial shows you how to make your application Web-services ready using the tools in WebSphere Studio Application Developer Version 5. You will learn how to wrap an existing application as a Web service and announce it using a UDDI directory and to discover and use Web services within your applications. The tutorial also explains how to deploy your application to a WebSphere Application Server.

Posted by roadnick at 09:01 AM | Comments () | TrackBack

November 26, 2002

Install and configure Xalan-Java

Now on IBM developerWorks: Install and configure Xalan-Java (Tutorial) -- This new tutorial by author Nicholas Chase tells step-by-step how to install, configure, and test the Xalan-Java XSL Transformation processor. Installing Xalan-J involves preparing the environment by obtaining an appropriate Java Virtual Machine, setting environment variables, and installing the files. After installation, you can set other environment variables, such as CLASSPATH.

Posted by roadnick at 12:21 AM | Comments () | TrackBack

November 20, 2002

Tip: Control white space in an XSLT style sheet

Now on IBM developerWorks: Tip: Control white space in an XSLT style sheet -- Because the style sheet and the source document in an XSLT transformation have different rules regarding white space stripping, it often seems as though the production of spaces and line breaks has no rhyme or reason in the process. This tip shows you how to control the production of white space in a transformation's result, which can lead to documents that more closely align with your requirements.

Posted by roadnick at 09:33 AM | Comments () | TrackBack

Install and configure the Xerces2 Java parser

Now on IBM developerWorks: Install and configure the Xerces2 Java parser (Tutorial) -- The first step in working with XML is parsing the data into a workable form. This tutorial guides you through the steps necessary to install and configure the Xerces2 Java parser.

Posted by roadnick at 12:23 AM | Comments () | TrackBack

November 13, 2002

Tip: Use imports and includes to override XSLT templates

Now on IBM developerWorks: Tip: Use imports and includes to override XSLT templates -- Extensible Stylesheet Language Transformations (XSLT) provide two different ways to combine several style sheets in the transformation of a single source document. In the process, it's almost inevitable that more than one template will apply to a single node. Which template is actually applied depends on whether and how the template has been included in the main style sheet. This tip explains how to use these conflict resolution rules to give users control -- but not too much control -- over styling issues.

Posted by roadnick at 09:46 AM | Comments () | TrackBack

November 06, 2002

Tip: Using a DOM NodeFilter

Now on IBM developerWorks: Tip: Using a DOM NodeFilter -- XML's DOM Level 2 Traversal module provides two new objects, the TreeWalker and the NodeIterator, which simplify the process of navigating a Document. More than that, the module defines a NodeFilter, which can be used to programmatically control what Nodes are visible to the TreeWalker or NodeFilter. This tip shows you how to create a NodeFilter as well as a Traversal object that uses it.

Posted by roadnick at 09:47 AM | Comments () | TrackBack

November 01, 2002

Building an Amazon storefront using SOAP and the WSDK

Now on IBM developerWorks: Building an Amazon storefront using SOAP and the WSDK (Tutorial) -- This tutorial is for developers who want to use SOAP to access the Amazon product database through Amazon Web Services (AWS). It shows you how to use the IBM WebSphere SDK for Web Services (WSDK) to create Java classes from the Amazon Web Services Description Language (WSDL) file, demonstrates the use of those classes, and then examines the process of using the WSDK to turn the classes into a Web application and Amazon storefront.

Posted by roadnick at 08:58 AM | Comments () | TrackBack

October 23, 2002

Tip: Traversing an XML document with a TreeWalker

Now on IBM developerWorks: Tip: Traversing an XML document with a TreeWalker -- XML's Document Object Model provides objects and methods that enable a developer to navigate a document's tree, but typically the process involves NodeLists and recursive methods that make it easy to get lost within the structure. The DOM Level 2 Traversal module provides a new object, the TreeWalker, which simplifies this process and makes navigation more reliable. This tip demonstrates the process of determining whether a TreeWalker is available and how to use it to extract information from a document.

Posted by roadnick at 09:44 AM | Comments () | TrackBack

Understanding XForms

Now on IBM's developerWorks: Understanding XForms (Tutorial) -- Today's Web applications require sophisticated control over a form's presentation and over the data that is ultimately submitted. XForms, currently at the level of Candidate Recommendation status at the W3C, aims to satisfy those needs, including separating functionality from presentation and streamlining validation and events processing.

Posted by roadnick at 12:20 AM | TrackBack

October 18, 2002

Tip: Use a SAX filter to manipulate data

Now on IBM developerWorks: Tip: Use a SAX filter to manipulate data -- The streaming nature of the Simple API for XML (SAX) provides not only an opportunity to process large amounts of data in a short time, but also the ability to insert changes into the stream that implements business rules without affecting the underlying application. This tip explains how to create and use a SAX filter to control how data is processed.

Posted by roadnick at 09:45 AM | Comments () | TrackBack

September 17, 2002

The Web's future: XHTML 2.0

Now on IBM developerWorks: The Web's future: XHTML 2.0 -- Over the years, HTML has only become bigger, never smaller, because new versions had to maintain backward compatibility. That's about to change. On 5 August 2002, the first working draft of XHTML 2.0 was released and the big news is that backward compatibility has been dropped -- the language can finally move on. So, what do you as a developer get in return? How about robust forms and events, a better way to look at frames and even hierarchical menus that don't require massive amounts of JavaScript.

Posted by roadnick at 09:31 AM | Comments () | TrackBack

September 04, 2002

Process XML using XML Query

Now in IBM developerWorks: Process XML using XML Query (Tutorial) -- For years developers have been using SQL to retrieve data from structured sources such as relational databases. But what about unstructured and semi-structured sources, such as XML data? To be viable as a data source, XML needed a means for conveniently retrieving the data. XQuery provides this means, allowing developers to write a statement that both extracts data and (if necessary) structures the results as XML. This tutorial shows you how to use XQuery to retrieve information from an XML file. It also explains the ways in which XPath changes with version 2.0, and what those changes mean for data management.

Posted by roadnick at 12:31 AM | Comments () | TrackBack

August 07, 2002

Tip: Make choices at runtime with XSLT parameters

Now on IBM developerWorks: Tip: Make choices at runtime with XSLT parameters -- Extensible Stylesheet Langauage Transformations provide the ability to perform sophisticated manipulation of data as it is transformed from one form to another. You can increase their capabilites even further through the use of parameters that can be specified at runtime. This tip takes a basic look at using parameters and conditional statements in an XSLT style sheet.

Posted by roadnick at 09:38 AM | Comments () | TrackBack

August 02, 2002

Understanding Java Factories

Now on InformIT.com: Understanding Java Factories -- How do factories work, and how can you use them in your own applications? Create two different "ferrets," and see how using a factory allows you to choose which one is actually loaded at any given time.

Posted by roadnick at 01:59 PM | Comments () | TrackBack

July 25, 2002

Tip: Include external information with general entities

Now on IBM developerWorks: Tip: Include external information with general entities -- General entities enable XML authors to conveniently include not only characters that would be difficult to represent directly, but also information that must be repeated. They also enable you to import information from another file, as well as from another location. This tip shows you how to include external information through the use of general entities.

Posted by roadnick at 09:36 AM | Comments () | TrackBack

July 16, 2002

XML Schema validation in Xerces-Java 2

Now on IBM developerWorks: XML Schema validation in Xerces-Java 2 (Tutorial) -- XML Schema provides validation capabilities that weren't available with Document Type Definitions. Xerces-Java 2.0 provides virtually complete support for the W3C's XML Schemas, and beyond. This tutorial guides you through the process of using schema validation with Xerces-Java 2.0.

Posted by roadnick at 12:24 AM | Comments () | TrackBack

July 10, 2002

Tip: Customize a DTD with parameter entities

Now on IBM developerWorks: Tip: Customize a DTD with parameter entities -- Creating a Document Type Definition (DTD) and using it to validate your document is a good way to ensure that the data fits a particular structure. In some cases, however, you want to give users some control over the structure. Parameter entities enable you to create a structure that allows a document author to choose from two or more possible DTD structures without giving that person control over the actual DTD.

Posted by roadnick at 09:34 AM | Comments () | TrackBack

July 09, 2002

JavaScript and the Document Object Model

Now on developerWorks: JavaScript and the Document Object Model: While the Document Object Model (DOM) is perhaps best known in its role as a foundation for working with XML, variations on the theme actually started in browsers with HTML. Now DOM has come full circle as newer browsers implement the W3C Document Object Model through client-side scripting, such as JavaScript. This article looks at the JavaScript approach to DOM and chronicles the building of a Web page to which the user can add notes and edit note content.

Posted by roadnick at 10:56 AM | Comments () | TrackBack

July 03, 2002

Tip: XSL transformations to and from a SAX stream

Now on IBM developerWorks: Tip: XSL transformations to and from a SAX stream -- The Transformation API for XML (TrAX) simplifies the process of performing XSL transformations by creating a situation where you only need to create the source, style, and result objects, then manipulate them using a Transformer object. When sources and results are DOM nodes or files, it's easy. But what if you want to transform to or from a SAX stream? This tip shows you how to use SAX streams as both the source and destination of an XSL transformation.

Posted by roadnick at 09:48 AM | TrackBack

June 26, 2002

Tip: Stop a SAX parser when you have enough data

Now on IBM developerWorks: Tip: Stop a SAX parser when you have enough data -- A SAX parser can be instructed to stop midway through a document without losing the data already collected. This is one of the most commonly mentioned advantages of a SAX parser over a DOM parser, which generally creates an in-memory structure of the entire document. In this tip, you'll parse a list of recently updated weblogs, stopping when you've displayed all those within a particular time range.

Posted by roadnick at 09:42 AM | TrackBack

June 11, 2002

Introduction to ebXML

Now on IBM developerWorks: Introduction to ebXML (Tutorial) -- Whereas EDI for years has provided a usable but expensive way for companies to exchange information in an automated manner, ebXML now provides a means for companies to integrate their processes much more easily. Based on XML, it provides a methodology for business to determine what information they should exchange and how, as well as a set of specifications to allow automation of the process. This tutorial gives an overview of ebXML, explaining how all of the pieces fit together.

Posted by roadnick at 12:33 AM | Comments () | TrackBack

June 09, 2002

Integrating applications with Web services using WebSphere

Now on IBM developerWorks: Integrating applications with Web services using WebSphere (Tutorial) -- The Site Developer configuration of WebSphere Studio and WebSphere Application Server ease the pain of integrating Web services with your application. This tutorial looks at making your application Web services-ready using Site Developer's tools. It takes you through the process of wrapping an existing application as a Web service, announcing it using a UDDI directory, and discovering and using Web services within your applications. It also looks at how to deploy your application to a WebSphere Application Server.

Posted by roadnick at 08:59 AM | Comments () | TrackBack

May 21, 2002

Building Web service applications with the Google API

Now on IBM developerWorks: Building Web service applications with the Google API (Tutorial) -- The Google search engine can now be accessed via a SOAP-based Web service. This means that developers can now embed Google search results and other information into their own applications. Google also took this project one step further, creating an API and Java toolkit for accessing the data. This tutorial is for developers who want to use Google information from within their Java applications.

Posted by roadnick at 12:34 AM | Comments () | TrackBack

May 17, 2002

Using JavaScript with XSLT Style Sheets

Now on InformIT.com: Using JavaScript with XSLT Style Sheets -- Learn to use XSLT style sheets to transform XML data from one from one structure to another.

Posted by roadnick at 02:21 PM | TrackBack

Tip: Outputting HTML from an XSL style sheet

Now on IBM developerWorks: Tip: Outputting HTML from an XSL style sheet -- Because HTML is so similar to XML, it should be fairly straightforward to create an XSLT style sheet that outputs HTML. Unfortunately, the differences between HTML and XML that do exist can cause pages to be displayed incorrectly in older browsers. This tip discusses those differences, and explains how to use XSLT's output element to resolve the issues they create.

Posted by roadnick at 09:39 AM | TrackBack

May 02, 2002

Tip: Set an XSL style sheet based on XML content

Now on IBM developerWorks: Tip: Set an XSL style sheet based on XML content -- Using Extensible Stylesheet Language Transformations (XSLT) is often the easiest way to transform your XML data from one form into another, as it allows you a great deal of flexibility without having to change an application. On occasion, however, you may run into a snag because the style sheet to be used is based on the content of the document itself. This tip discusses two ways to base your choice of style sheet on the XML document -- the style sheet processing instruction and the data itself.

Posted by roadnick at 09:41 AM | Comments () | TrackBack

April 25, 2002

Tip: Call JavaScript from an XSLT style sheet

Now on IBM developerWorks: Tip: Call JavaScript from an XSLT style sheet -- XSLT style sheets allow you a great deal of freedom in manipulating the data in your original XML document. There are times, however, when you really want to do actual programming, and the XSLT recommendation is designed to allow that through the use of extensions. These extensions take the form of functions and elements, and can be written in any language the processor supports. One of your options is to embed JavaScript within the style sheet, either directly or as an external file.

Posted by roadnick at 09:32 AM | TrackBack

April 17, 2002

Developing XSL Transformations with WebSphere Studio

Now on IBM developerWorks: Developing XSL Transformations with WebSphere Studio (Tutorial) -- This tutorial shows you how to use the Site Developer configuration of WebSphere Studio to map the elements and attributes of one XML structure to the elements and attributes of another, then convert that mapping to an XSLT style sheet. The tutorial will demonstrate how to use an XSL Trace facility to watch the actual progress of the transformation and locate errors. This tutorial will also cover how to add XSLT functions, external JavaScript functions, and Java classes to the style sheet.

Posted by roadnick at 12:28 AM | Comments () | TrackBack

April 12, 2002

Tip: Send and receive SOAP messages with JAXM

Now on IBM developerWorks: Tip: Send and receive SOAP messages with JAXM -- In this tip, author and developer Nicholas Chase shows you how to use the Java API for XML Messaging (JAXM) to simplify the process of creating and sending SOAP messages.

Posted by roadnick at 09:40 AM | Comments () | TrackBack

April 10, 2002

Manipulating XML and SQL data with WebSphere Studio

Now in IBM developerWorks: Manipulating XML and SQL data with WebSphere Studio (Tutorial) -- This tutorial covers the basics of XML development with WebSphere Studio Site Developer, including how to create and edit new XML files, how to generate DTDs or XML Schemas from an existing XML file, and how to generate an XML file from an existing DTD or schema. The tutorial also looks at the relationship between XML and databases by examining Site Developer's applicable features in this area, including its ability to generate XML files from SQL statements and create mappings of XML data to a relational database structure for use by other applications such as application servers.

Posted by roadnick at 12:29 AM | Comments () | TrackBack

February 20, 2002

Introduction to Scalable Vector Graphics

Now on IBM developerWorks: Introduction to Scalable Vector Graphics (Tutorial) -- Scalable Vector Graphics (SVG) makes it possible to specify, using text, graphical images that appear on a Web page. The advantages are many, including the ability to easily generate graphics (such as graphs and charts) from database information, and the ability to add animation and interactivity to graphics. This tutorial demonstrates the concepts necessary for building SVG documents, such as basic shapes, paths, text, and painting models, and also animation and scripting.

Posted by roadnick at 12:30 AM | Comments () | TrackBack

February 15, 2002

Using XML and XSLT to Personalize a Web Site Part 4: Dynamic Style Sheets and User Customized Layout

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 4: Dynamic Style Sheets and User Customized Layout -- XSL Transformations provide a handy means for converting XML data to HTML pages, allowing you to store your content in its most flexible form and still have complete control over its display in the user's browser. Part 4, the final part in this series on Web site personalization by Nick Chase, shows you how to build style sheets dynamically, allowing users to choose what content appears on their pages, and where.

Posted by roadnick at 01:57 PM | Comments () | TrackBack

February 08, 2002

Using XML and XSLT to Personalize a Web Site Part 3: Allowing Users to Choose Look and Feel

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 3: Allowing Users to Choose Look and Feel -- XSL Transformations provide a handy means for converting XML data to HTML pages, allowing you to store your content in its most flexible form and still have complete control over its display in the user's browser. These and other issues are discussed in this third article on Web site personalizations by Nick Chase.

Posted by roadnick at 02:07 PM | Comments () | TrackBack

November 02, 2001

Using XML and XSLT to Personalize a Web Site Part 1: Using XSLT to Transform XML to HTML

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 1: Using XSLT to Transform XML to HTML -- XSL Transformations are a powerful tool in your efforts to provide a customized experience for your users. Using them allows you to take a single XML content file and adapt it to users' preferences. With the addition of a Web server environment capable of dynamically choosing a style sheet or even creating one based on the user's preferences, you have the potential for a powerful personalization system.

Posted by roadnick at 02:19 PM | Comments () | TrackBack

October 24, 2001

Manipulating data with XSL

Now on IBM developerWorks: Manipulating data with XSL (Tutorial) -- This tutorial explains the basics of retrieving data from a database into a DOM document, transforming the DOM document into a second document, and inserting the data from the second document into the database using updatable ResultSets in Java. (Though the examples are all written in Java, the concepts are the same in any programming language and the tutorial can assist any developer who wants to learn how to manipulate data with XSLT.) Several of the more advanced features of XSLT and XPath are covered, demonstrating some of the ways that XSLT style sheets can be used to emulate the programming capabilities of database stored procedures.

Posted by roadnick at 12:25 AM | Comments () | TrackBack

October 23, 2001

Modularization of XHTML

Now on IBM developerWorks: Modularization of XHTML (Tutorial) -- This tutorial is designed for users who need to understand the modularization of XHTML, either to use a subset of XHTML, or to add their own tags to create their own markup language variants.

Posted by roadnick at 12:26 AM | Comments () | TrackBack

October 03, 2001

Using JDBC to insert data from XML into a database

Now on IBM's developerWorks: Using JDBC to insert data from XML into a database (Tutorial) -- This tutorial is designed to assist Java developers who need to extract information from an XML document and enter it into a database.

Posted by roadnick at 11:57 PM | Comments () | TrackBack

September 28, 2001

Using JDBC to extract data into XML

Now on IBM developerWorks: Using JDBC to extract data into XML (Tutorial) -- This tutorial is designed to assist Java developers who need to extract information from a database and place it into an XML document.

Posted by roadnick at 12:19 AM | TrackBack

September 25, 2001

Validating XML

Now on IBM's developerWorks: Validating XML (Tutorial) -- This tutorial examines the validation of XML documents using either Document Type Definitions (DTDs) or XML Schema. It is aimed at developers who have a need to control the types and content of the data in their XML documents.

Posted by roadnick at 11:54 PM | Comments () | TrackBack

September 05, 2001

Understanding SAX

Now at IBM's developerWorks: Understanding SAX (Tutorial) -- This tutorial examines the use of the Simple API for XML version 2.0, or SAX 2.0. It is aimed at developers who have an understanding of XML and wish to learn this lightweight, event-based API for working with XML data. It assumes that you are familiar with concepts such as well-formedness and the tag-like nature of an XML document. In this tutorial, you will learn how to use SAX to retrieve, manipulate, and output XML data.

Posted by roadnick at 11:53 PM | Comments () | TrackBack

August 31, 2001

Understanding DOM

Now at IBM's developerWorks: Understanding DOM (Tutorial) -- Even before there was XML, there was the Document Object Model (DOM). The DOM allows a developer to refer to, retrieve, and change items within an XML structure, and is essential to working with XML. In this tutorial, you will learn about the structure of a DOM document. You will also learn how to use Java to create a document from an XML file, make changes to it, and retrieve the output.

Posted by roadnick at 11:52 PM | Comments () | TrackBack