Name: Jeff Lowery
Member since: 2002-05-26 05:16:43
Last Login: N/A



Occasional shill for XML Schema and data binding.

Recent blog entries by jeffalo

28 Feb 2003 (updated 28 Feb 2003 at 02:16 UTC) »

I'm not dead yet.

I'm thinking about posting an essay here tentatively titled 'tribal software'. It's a little bit different take on what drives open source and other assorted small development communities.

Other than that, I have a presentation on XML Schema coming up, which, if you haven't looked at the specs for as long as I haven't, all the little nasties of the language are plum clean evaporated from your mind. I'd better stick to the simple stuff. Is there any simple stuff? I don't remember...

Update web site next. No, really.

My web publishing adventure has been placed on the back burner while I work on normalizing a database from another project. It's a lot of hard work, especially since there's only a partial data dictionary and many of the constraints are handled by VB code.

I'm not a VB coder, but I do have an outline of the object model which, of course, looks only remotely like the relational model. Anyhow, two days into is so far and I've got most of it hashed out. Call it Iteration One. I suspect there's some many-to-many's lurking, but most of the duplicates will be outted, at least.

In other news, I found out to my chagrin that Xerces lacks the ability to build DOM structures from SAX events. That's not entirely true: I believe it constructs DOMs using SAX, but you can't get hold of the ContentHandler instance. That makes it hard to throw filters in front of it, doesn't it?

Had to go to DOM4J to get a DOMBuilder that implements ContentHandler. So far I've got a bit of GNU, a bit of DOM4J, and a bit of Xerces all rolled together to handle XML documents. Seems unlikely to remain version-stable, but it's the best I can do for now.


1 Nov 2002 (updated 1 Nov 2002 at 01:34 UTC) »

Well, I'm undergoing the total immersion method of learning web publishing. This means grappling with Tomcat, Cocoon, XSL-FO, XSLT, XSP, and FOP all at once.

Our team has the task of coming up with an editor for a large industry-standard XML data exchange file. The conservative approach would be to deploy it as a Java application. Since it needs to support graphic rendering and manipulation that may ultimately be the way to go, although SVG could perhaps cover that requirement. I guess I'll add that to the heap-to-learn, too.

Not a lot of time to learn it in, either. It would help if Cocoon had better documentation. I managed to get something published, although more by guess and by golly than by actually understanding what I was doing.

Simultaneously trying to learn PHP to manage my new personal website. Frustrated right now because I can't get a simple redirect to work using the header() function. Tried a META element and no luck there, either. Hmmm, I'm running out of tricks. Or treats.

Happy Halloween!

 /\  /\


Castor article published on the ONJava website.

I forgot to ask for money. :-(
However, it felt good just to have something published after my book on XML Schema was cancelled at virtually the last possible moment. grrr...

But I'm over that now. Somewhat.

Other things:

Still(!) working a pseudo-universal namespace transform (PUNT) for XML namespace prefixes. I've got the encoding bit working (except for prefixes in content, but that's easy). Found a serious bug in Xerces 2.2.0, where it was dropping the uri values on the endElement() callback. Version 2.0.2 doesn't have this problem.

Decoding a PUNTed prefix is just a question of pattern matching through regex and replacing the binary-encoded nonName characters with the original URI characters. And, of course, add any missing namespace prefix declarations (which is the whole point of PUNT).

No, a PUNTed document is really not XML, howevever it is XML conformant. There's a difference. XML documents should above all be readable, although we're well past the point of that actually being the case in practice, even within the W3C techs. Just look at XSLT :-)

But there are a number of problems with Namespace prefixes, and PUNT is a brute-force approach to tightly binding URIs with their local element and attribute names. Really ugly, but hard to screw up. Which is the point.


Also thinking more on a typed metalanguage. Jeni Tennison and Uche Ogbuchi are exchanging ideas on a very interesting thread on xml-dev right now. Ideas worth stea^H^H^H^H borrowing.


PUNT has given me the opportunity to play around with XML filters in SAX. I haven't read a really good article on how SAX XML filters work and what they're good for, though.


8 Aug 2002 (updated 8 Aug 2002 at 19:35 UTC) »

Just a few quick updates:

1) Looks like the Castor article is going to a webzine rather than the website. I'll let you know...

2) Made some progress on PUNT, which is a set of filters for converting Namespace prefixes in XML to encoded URIs. Results in real ugly documents, but it may be a useful tool for those still operating in namespace-unaware environs (or where namespaces are just handled badly by some third-party joker who won't listen to you).

3) Thinking more about a typed metalanguage (TML) that is backwards compatible with XML. I've had a couple of interesting debates with people on xml-dev of late.

For instance, Simon St. Laurent's a big fan of loose constraints, lexically specified, whereas I'm more the semanticly-undestood datatypes advocate. The twain have to meet somewhere, though. Further exploration of the TML concept should help delineate those boundaries. The XML Schema datatypes guys have pointed the way, although they got lost somewhere on the trail, probably attributable to politics and compromise (and deadline pressure).

There's something to be said for being a cowboy.


5 older entries...


jeffalo certified others as follows:

  • jeffalo certified simonstl as Master
  • jeffalo certified jeffalo as Apprentice
  • jeffalo certified ldodds as Journeyer
  • jeffalo certified Uche as Master
  • jeffalo certified aaronsw as Journeyer

Others have certified jeffalo as follows:

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page