Today I spent some time experimenting with the xsi:type to allow subclassing in my XML Schemas, as described in "W3C XML Schema Design Patterns: Dealing With Change" by Dare Obasanjo.
Many of the xsi:type examples on the web give the xsi namespace declaration as xmlns:xsi=http://www.w3c.org/2001/XMLSchema-instance.
.NET users look out! If you use this declaration in your XML instance document then it won't validate in VS.NET... you must reference w3.org, not w3c.org.
The correct declaration for the .NET parser is xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Now, to replace that pulled-out hair...