Writing Backwards Compatible XML Schema 1.0 Schemas Using the XML Ignore Rule

Writing a XML Schema is a challenge but as the first part of this document explains, writing a V2 schema that can accept V1 documents is in most cases impossible if you use XML Schema 1.0. In other words, if you want to write a backwards compatible schema you probably won't be able to do it using XML Schema 1.0. In an ideal world we would take the lessons learned from XML Schema and use them to start over, probably with RelaxNG. But until we can move over to a new standard we need a way to enable backwards compatible schemas to be written in XML Schema 1.0. Therefore the second part of this document explains how to use the XML Ignore Rule in conjunction with XML Schema 1.0 in order to create a validator that enables one to write backwards compatible schemas. The XML Ignore Rule can be best summarized as "if you don't recognize it, ignore it."

Continue reading Writing Backwards Compatible XML Schema 1.0 Schemas Using the
XML Ignore Rule

Escaping Excel X to OOo 1.1.2

I've previously described just how deeply awful Excel X is when using Visual Basic. But things recently got even worse when I found a bizarre bug in Excel X's For Each operator that prevented me from iterating on an array. Desperate for some kind of alternative I checked out Open Office for the Mac again and found a new version, 1.1.2, which is significantly better than the previous version and fits my needs much better than Excel X.
Continue reading Escaping Excel X to OOo 1.1.2

N:1 Web Service Applications – Getting from V1 to V2

Below I walk through the issues an implementer faces in moving from V1 to V2 of a Web Service application. I am limiting my investigation to a sub-set of Web Service applications, a N:1 Service. That is, a Web Service application with many clients (N) for which there is only one instance of the Web Service application itself (1).

Continue reading N:1 Web Service Applications – Getting from V1 to V2

Rsync, RsyncX 2.1 & OS X

I really needed to backup my system. I had evaluated a bunch of backup software when a friend (who shall remain nameless to protect the guilty) pointed out Rsync and RsyncX 2.1. Rsync is a command line open source program used to do sophisticated data backup. RsyncX is a 'friendly' front end to Rsync. Rsync by itself is about as friendly as an angry viper. RsyncX is a little less unfriendly, say about the level of a club to the head. After seven or so hours I finally managed to get everything working. Below I give step-by-step instructions on how I used RsyncX to set up both my local and remote backups. My take away from this experience is that I should have just bought backup software.
Continue reading Rsync, RsyncX 2.1 & OS X

How to mount a Firewire Drive using an iLink (1394/Firewire) port with Mepis Linux Live CD on a Dell Inspiron 8200


What To Do

  1. Open a root terminal and type in "modprobe ieee1394 ; modprobe ohci1394 ; modprobe sbp2"
  2. Download rescan-scsi-bus.sh and then "sh rescan-scsi-bus.sh".
  3. "Fdisk -l" to get a list of all available drives. You should be able to see the firewire drive listed along with what devices (e.g. /dev/sda1 or /dev/sdb1 or whatever) its partitions have been assigned to.
  4. For each partition you want to mount (e.g. for each /dev/sda1, /dev/sda2, etc.) create a directory somewhere to mount to. I created /mnt/sda1, /mnt/sda2, etc. Then run "mount -t auto /dev/sda1 /mnt/sda1" where you replace sda1 with the actual device of the partition you want to mount. Repeat for all partitions you want to mount.

Continue reading How to mount a Firewire Drive using an iLink (1394/Firewire)
port with Mepis Linux Live CD on a Dell Inspiron 8200

Printing, IPP, OS X & Defeat


Sometimes you just have to know when to give up. I've been trying to figure out how to get my wife's Linux box to print on the printer I've hooked up to my OS X box. I configured the printer. I set up printer sharing. I connected to the CUPS server locally without problem. Then I tried to connect remotely. No luck. I edited /etc/cups/cupsd.conf to add the IP address of the linux box. No luck. At some point you just have to know when to give up. I give up. If there is a way to get printer sharing over IPP working with an OS X box as server and a Linux box as client I can't figure it out.

Mac and Me

In a classic example of 'too stupid for my own good' I tried something very dangerous during my upgrade to Mandrake 10, the Linux distribution I run, and managed to fry my partition table. Even though the damage was my fault I was sick of driving a car with no seatbelt. I had enough of figuring out how to run Java, or print pictures or deal with install quirks or never figuring out how to get flash running or living in fear of installing non-RPM software lest it toast my system. I really just had enough. So I decided to buy a Macintosh G5.

Continue reading Mac and Me

WebDAV, DASL, XQUERY and XPATH 2.0

The Web's slow but inexorable movement from a read only to a collaborative environment is increasing WebDAV's success. But WebDAV still has a serious functional outage – search. The DASL community has been keeping hope alive by continuing to work on a search grammar for WebDAV. But much as WebDAV adopted XML both to solve real problems and to ride on the coat tails of XML's success, so DASL could solve a number of serious technical issues and increase its own visibility and leverage the excitement and investment in the XPATH/XQUERY community if it adopted a profile of XPATH 2.0 as its basic search grammar. In the article below I discuss some of the details of how DASL could use XPATH.
Continue reading WebDAV, DASL, XQUERY and XPATH 2.0