XML Language support in C#

Erik Meijer (who appears to be Dutch, I already found the name sound awfully Dutch) published a paper entitled “Programming with Circles, Triangles and Rectangles” which is about adding native programming language support for XML into an existing OO language such as C# or Java. By doing that you can get this kind of code:

public class card {
sequence{
string name;
string title;
string email;
string? phone;
logo? logo;
};
}
public class logo {
attribute string url;
}
public class Test {
static void Main() {
card c = <card>
<name>John Doe</name>
<title>CEO, Widget Inc.</title>
<email>john.doe@widget.com</email>
<phone>(202) 456-1414</phone>
<logo url="widget.gif"/>
</card>;
c.*.{ Console.WriteLine(it); };
}
}
The paper can be found here and sadly can only be viewed from Internet Explorer (due to a client-side XSLT transformation which appears to be implemented in an IE-only fashion).