CodeSynthesis XSDは、Code Synthesis 社が開発したC++用XML データ バインディングコンパイラで、GNU GPLと独自のライセンスのデュアルライセンスで提供されています。XMLインスタンス仕様 ( XMLスキーマ) が与えられると、指定された語彙を表す C++ クラスと、解析およびシリアル化コードを生成します。AIX 、Linux、HP-UX 、 OS X、Solaris、Windows、OpenVMS、z/OSなど、多数のプラットフォームでサポートされています。サポートされている C++ コンパイラには、 GNU G++、Intel C++、HP aCC、Solaris Studio C++、IBM XL C++、Microsoft Visual C++などがあります。モバイルおよび組み込みシステム向けのバージョンであるCodeSynthesis XSD/eも利用可能です。
CodeSynthesis XSD の特長の一つは、2 種類の XML スキーマから C++ へのマッピングをサポートしている点です。インメモリの C++/Tree とストリーム指向の C++/Parser です。C++/Tree マッピングは、ツリー状のインメモリデータ構造を用いた従来型のマッピングです。C++/Parser は、SAXに似た新しいマッピングで、XML インスタンス文書に格納された情報を、語彙固有の解析イベントの階層構造として表現します。C++/Tree と比較すると、C++/Parser マッピングでは、メモリに収まらない大きな XML 文書を処理したり、ストリーム指向の処理を実行したり、既存のインメモリ表現を使用したりできます。XSD で生成されるコードは、C++98/03 または C++11 をターゲットにできます。
CodeSynthesis XSD自体はC++で記述されています。