Microsoft Expands .Net With Xen

 MLで紹介されていた.NETの拡張言語.なんじゃこれは!
 よくデータバインディングを行ってスキーマからクラスを生成しますが,これはクラスそのものがスキーマなんですね.
サイトにのっている例

public class book {
    sequence{
      string title;
      choice{
        sequence{ editor editor; }+;
        sequence{ author author; }+;
        }
      string publisher;
      int price;
    }
    attribute int year;
  } 

 すごいな.
 *を変数の後ろに使うと0以上を意味するのもDTDと一緒なんですが,この表現だとポインタを思い出してなんかやだ.
 あと,SQLも統合されていて,

CREATE TABLE Customer ( name string NULL,custid int);

 なんてのは

sequence{ string? name; int custid; }* Customer;

と書けるらしい.