Thursday, August 20, 1998 by Dave Winer.
A quick short evening piece, I'm taking a long weekend, but amidst all the news of presidential downs and ups, wagging dogs and security holes, there have also been a lot of XML-related announcements today, including one from my company.
UserLand shipped a new version of Frontier today, version 5.1.3, a minor release, whose purpose is to get the remaining deal-stoppers out of our implementation of Frontier as an XML-Database.
The fixes in 5.1.3 allow Frontier to manage large databases of XML content and data, making it possible for us to exchange information with other XML-compatible applications.
It will be possible, for example, to store information that's edited in a spreadsheet or a slideshow presenter, using Frontier as a database and scripting environment, moving and sharing information between the apps.
With Microsoft's committment to supporting XML in the Office 2000 apps, this should give people who know our tools a running headstart on building net-aware apps with Microsoft's productivity apps as content tools. And if XML should grow, as I am betting it will, it'll give us some room to grow too.
The XML-Database feature can also be used in distributed computing applications, and be hooked up to XML-RPC interfaces for apps that run over the Internet.
The importance of 5.1.3 is that at this point people can start seriously deploying XML storage applications running in Frontier. That is something I've been talking about all of 1998, and it seems like we've finally hit the milestone.
Earlier this week I put out a call for pointers to XML files on the Internet, and we got quite a few that way, and also with the help of HotBot, which has a very nifty feature that allows you to search for files with a given extension. We found a lot of XML content, and of course, we tested against it.
There's good news to report. For the most part the stuff that people are putting on the net is reasonably well-formed XML. That's a technical term. An XML purist will surely correct me and say that there's no ambiguity, either it conforms to the spec or it doesn't, to which I say that I don't agree. Even Tim Bray, one of the designers of XML, acknowledges a lack of clarity in the treatment of white-space. In other words, it's more complicated than a purist might think it is.
And developers are still putting out files with uppercase <?xml?> headers. So, for now, we're accepting lowercase and uppercase headers (lowercase is what the spec says should be used). Eventually we will tighten up and *only* accept lowercase.
And on other stuff we're being hard-asses. If it doesn't conform to the spec, we call it an error and refuse to load it. That's the only way to avoid the difficulties that we're dealing with in HTML, one of the predecessors to XML (the other one is SGML).
We also opened up an XML Validator application today. If you are generating XML, please give it a whirl, and please let us know if there are any problems on our end.
At the same time as we've been working on our own XML parser, another developer, Brian Andresen of Technology Solutions, has been adapting one of the standard parsers, "expat" by James Clark, to run in the Frontier environment.
It's the same parser as Netscape 5 and Perl will use.
And with other fixes in 5.1.3, we're finally ready to support ODBC connections and regular expression text processing in Frontier 5, and in 5.1.4, the COM-server functionality will be finalized.
Things are moving fast now. Microsoft, DataChannel and Inso also had XML-related announcements today, so we're finally in position to do some connecting based on the new compatibility.
There are two sides to our use of XML, XML-RPC is for coupling servers over the web, and XML-Database for storing information shared between XML-aware apps.
It's a good time to take a few days off, let the dust settle, and come back and see what's brewing. And in the meantime, god bless our president and our country! And while we're at it, let's say a prayer for the people who bomb our embassies, and kill Irish children, they are angry, and probably with good cause. If only innocent people didn't have to die for all the anger.