2008-04-18

nXML modeで使うスキーマを追加する

例として、EmacsnXML modeのスキーマにAtom Syndication Formatを追加する。

nXML modeでは、要素の補完や検証にRELAX NGのスキーマを使うため、まず、RELAX NGで書かれたAtom Syndication Formatのスキーマを手に入れる必要がある。幸い、Atom Syndication Formatを定義しているRFC 4287のAppendix Bに、RELAX NG Compact Syntaxで書かれたスキーマがあるので、これを使う。

次に、どういった場合に、どのスキーマを使うかを定義している、schemas.xmlを編集する。これは、nXML modeがインストールされているディレクトリの中の、schemaというディレクトリにある。locatingRules要素の下に、

<namespace ns="http://www.w3.org/2005/Atom" typeId="Atom"/>
<documentElement localName="feed" typeId="Atom"/>
<documentElement localName="entry" typeId="Atom"/>
<typeId id="Atom" uri="atom.rnc"/>

を追加する。こうすると、名前空間とルート要素に基づいて、自動的にスキーマが決定されるようになる。

以上。詳しくはnXML modeのinfoを参照すること。

0 件のコメント: