私はかなりシンプルなXSDスキーマでこれを試しました。これは、さまざまなタイプの4つの要素を定義したものです。アレックスオットにより示唆されるようgooglecodeから -
- XsdToRNG.xsl:NXMLモードでこのスキーマを使用すると、3つのXSL変換を介して実行するために私を必要としました。 RNG XML構文を生成します。
- RNGToRncXml.xsl - Pantorから。これはRNG XML構文で動作し、{XSD、RNG、RNC}のいずれでもないスキーマの "中間"表現を生成します。
- RNGToRncText.xsl - Pantorからも提供されます。 RNCを生成するために中間フォーマットで動作する。 (RNGコンパクトシンタックス)。これはnxmlモードが望むものです。
[これ以前は、RNGの2つの味があることに気付きませんでした。 ]
結果はかなりコンパクトなRNCファイルであり、わかりやすいものです。
同じことをXSLT XSDで試してみましたが、同様の肯定的な結果が得られました。nxmlモードで使用するための良い.rncファイルです。 nxml-modeにはXSLT用のRNCが付属しているため、これは不要です。しかし、より複雑な.XSDファイルを.RNCに変換できるという自信がありました。
.RNCを入手した後、それを使用してXML文書の編集をガイドすることができます。 doc(おそらく新しい空のドキュメント)を開き、nxml-modeが自動的に実行されない場合は必ず実行してください。次に、C-C C-s C-fを使用して、nxmlモードでスキーマをそのドキュメントに関連付けます。これは、初めてドキュメントを編集する場合にのみ必要です。その後、スキーマをドキュメントに自動的に関連付けることができます。
スキーマがドキュメントに関連付けられると、スキーマセンシティブな完了(別名インテリセンス)と検証が行われます。 nxml-modeは、XSLT、Docbook、そして面白いことにRNG Xml構文などの.rncスキーマを扱っています。
少しセットアップが必要ですが動作します。
Relax-NGコンパクト構文ではなく、Relax-NGが生成されるため、これは動作しないと思います。多分、私が遂行しなければならないもう一つの変換があります。 – Cheeso
これは第2回目の変換ではうまくいくと思います。http://www.pantor.com/download.htmlこれはRNG-RNC変換シートです。実際、RNG-to-RNCもまた2段階変換である。 !!フラクタルを得る。 – Cheeso
これは実際にうまくいきました! – Cheeso