0

しばらくの間、 JetBrains プラグインの作成方法を学ぶことに興味がありましたが、今日、ついに試してみることにしました。xlink:基本的に、組み込みの XML 言語サポートではSVG 内の名前空間を使用するタグ/属性を処理できないため、SVG ドキュメントの言語サポートを追加しています。

そのため、カスタム言語サポートのチュートリアルを進めていて、ステップ 3.3 - 文法の定義に進みました。基本的に、SVG ドキュメントで使用される文法を定義するために BNF ファイルを作成するつもりです。問題は、SVG 文法を厳密に定義するには永遠に時間がかかることです

私がやりたいことは、この BNF ドキュメントをSVG Document Type Definitionから自動的に生成することです。これは、この DTD には SVG の文法を完全に定義するのに十分な情報が含まれている必要があるためです (推測します)。

DTD を BNF に変換する方法はありますか?

4

1 に答える 1

0

既製のツールについては知りません。XSLT のスキルがあれば、DTD を XML 形式 (XSD または RNG の場合もあれば、DTD 構造の XML 表現の場合もあります) に変換するさまざまなツールのいずれかを使用して、XSLT 変換を作成するのは簡単です。目的に必要な文法形式に変換します。

XML 属性を任意の順序で表示できるが、重複する属性名を含めないようにすることは、BNF ではかなり面倒です。ソフトウェアの異なるレベルで属性名の重複を禁止することを選択できます。

于 2016-05-01T02:51:12.167 に答える