8

ここで、 nxml-modeについて学びました。これは、READMEによると

XMLドキュメントを編集するためのGNUEmacsのメジャーモード。整形式のXMLドキュメントの編集をサポートし、RELAX NGCompactSyntaxを使用したスキーマセンシティブなXMLドキュメントの編集も提供します。

W3C XMLスキーマに対して同じことを行うモードはありますか?

そのようなものが見つからない場合でも、Relax-NGではなくW3C XMLスキーマを厳密に扱っていると仮定すると、nxml-modeはとにかく役に立ちますか?

関連:VIMでのスキーマ対応編集

4

4 に答える 4

7

私はこれをかなり単純な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スキーマを使用します。

少し設定が必要ですが、機能します。

于 2009-06-03T14:37:06.113 に答える
7

このように、XSDからRNGへのコンバーターを使用するだけです

于 2009-05-28T05:43:51.730 に答える
1

スキーマがなくても、非常に便利です。終了タグをオートコンプリートしたり、タグでナビゲートしたり、その他多くの便利な機能を利用できます。そうは言っても、アレックス・オットはその通りです。

于 2009-05-28T21:54:29.573 に答える
0

Sun RNG Converter を使用して XSD を RNG/XML に変換し、次に Trang を使用して RNG を RNG コンパクト構文に変換します。Sun コンバーターは msv.java.net からダウンロードできます。

于 2011-02-18T23:43:59.793 に答える