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;
と書けるらしい.