私はこれをかなり単純なXSDスキーマで試しました-さまざまなタイプの4つの要素を定義したものです。このスキーマをnxml-modeで使用するには、3つのXSL変換を実行する必要がありました。
- XsdToRNG.xsl- AlexOtt によって提案されたgooglecodeから。RNGXML構文を生成します。
- RNGToRncXml.xsl-Pantorから。これはRNGXML構文で動作し、{XSD、RNG、RNC}のいずれでもないスキーマの「中間」表現を生成します。
- RNGToRncText.xsl-これもPantorから。中間フォーマットで動作してRNCを生成します。(RNG Compact Syntax)、これはnxml-modeが必要とするものです。
[これまで、RNGには2つのフレーバーがあることに気づいていませんでした。]
その結果、かなりコンパクトなRNCファイルが作成され、理解することもできます。
XSLT XSDでも同じことを試しましたが、同様の肯定的な結果が得られました。nxmlモードで使用するのに適した.rncファイルです。nxml-modeにはXSLT用のRNCが付属しているため、これは不要であることが判明しました。しかし、より複雑な.XSDファイルを.RNCに変換できるという自信がありました。
.RNCを取得したら、それを使用してXMLドキュメントの編集をガイドできます。ドキュメント(おそらく新しい空のドキュメント)を開き、自動的に実行されない場合は必ずnxml-modeを実行してください。次に、Cc Cs Cfを使用して、スキーマをnxmlモードでそのドキュメントに関連付けます。これは、ドキュメントを初めて編集するときにのみ必要です。その後、スキーマを自動的にドキュメントに関連付けることができます。
スキーマがドキュメントに関連付けられると、スキーマに依存する補完(別名インテリセンス)と検証が得られます。nxml-modeは、XSLT、Docbook、および面白いことにRNGXml構文などの.rncスキーマを使用します。
少し設定が必要ですが、機能します。