4

XSLT を使用してこれを変換します。

1)

<fruit>
  <apple count="2"/>
  <banana count="3"/>
</fruit>

これに:

2)

Apple: 2
Banana: 3

テキスト データのパーサーとして機能し、予想されるトークン (拡張 Backus–Naur Form |EBNF| と Lex/Yacc 正規表現ベースのヒントの両方を考えてください) の記述的宣言を可能にし、そこから XML DOM を構築するライブラリはありますか?

4

2 に答える 2

3

期待されるトークンの記述的宣言を可能にし(Extended Backus–Naur Form |EBNF|とLex/Yacc正規表現ベースのヒントの両方を考えてください)、そこからXML DOMを構築するテキストデータのパーサーとして機能するライブラリはありますか?

はい。FXSL 2.0f:lr-parse()には、まさにそれを実行する機能があります。これは純粋なXSLT2.0で記述され、一般的な(テーブル駆動型)LR-1パーサーを実装します。これは、解析テーブルを含むXMLファイルと解析対象の「文」を含むテキストファイルを入力として受け入れます。

私はこの関数を、おもちゃの算術式から中規模のJSON、非常に大規模なXPath 2.0言語まで、さまざまなパーサーに使用してきました。

たとえば、私のブログのこの記事を参照してくださいJSONの変換

于 2012-08-03T03:17:30.067 に答える
1

あらゆる形式のあらゆるテキストを XML にコンパイルするというような広範な目的を直接達成するために、あらゆる言語のライブラリーが見つかるとは思わないでください。

おそらく、あなたが望んでいるものではないかもしれませんが、XSLT 2.0 がテキスト ファイルから入力を取得し、いくつかの規則に従って文字データをトークン化し、XML を出力できることを知っておくと便利です。証拠として、csv から xml への変換の問題に対する XSLT 2.0 の一般化されたソリューションを示す私のブログ エントリーを参照してください。

于 2012-08-03T00:19:36.693 に答える