1

多くの .xml ファイルを扱っています。(数百万 - ウィキペディアの .xml 形式のダンプ) そして、それらは私が想像していたよりもはるかに読みにくいものです。

とりあえず、ブラウザで読めるように表示する.cssファイルを書き、この.cssへの参照をすべてのファイルにプラグインするスクリプトを書きました。

(XSLTのような他の解決策があることは知っていますが、見つけたすべての情報は、ドキュメントレベルに適合しないように見えました-可能であれば、これらのファイルのサイズを拡大しないようにしています)

一部のファイルでは.css が正常に機能しますが、多くのファイルには などのエンティティが含まれており、次のようなエラーが発生します。

「XML 解析エラー: 未定義のエンティティ」  を指す素敵な小さなイラストまたは引用符内の親族です。

ブラウザのドット (キーワード -> Unicode) を接続する必要があるように見える article.dtd ファイルがあります。次のように各ファイルで参照されます。

 <!DOCTYPE article SYSTEM "../article.dtd">

次のような多くのエントリが含まれています。

<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
                              U+00A0 ISOnum -->

しかし、このファイルの目的を完全に誤解しているか、正しく機能していません。

いかなる場合でも; これらのドキュメントを表示するにはどうすればよいですか。次のいずれかによって:

  • エンティティの表示 (「&nbSp」などのプレーンテキスト)
  • エンティティを完全に削除します(実際のファイルでの線形検索/削除以外の方法で)
  • 意図したとおりに、エンティティを Unicode として解釈する

当然、後者が好ましい。絶対に理想的には、ID を Unicode にマップするある種の外部ファイルを参照することによって (それが article.dtd ファイルの目的ではない場合....)

編集: ここでは強力なマシンを使用していません..rars の抽出には数日かかりました。各ファイルの編集には、非常に長い時間がかかります。

4

2 に答える 2

0

だから私はそれ以来私の問題を解決しました:それが将来誰かを助けるなら:

私の問題の本質は、外部の .dtd ファイルが完全に非推奨になっていることであることが判明しました。

実際、.dtd の機能は、私が思っていたように、私が問題を抱えていたエンティティ (など) を宣言することでした。しかし、外部の .dtd ファイルがブラウザーでサポートされなくなったため (ブラウザーは単純にそれらを取得/解析しません。強制する唯一の方法は、クライアント マシンにインストールされたブラウザーのファイルに依存します)。無申告になりました。

私が調達した .XML コレクションは、単に古すぎて標準に達していませんでした。気づかずに。

私の状況に最適な解決策は、要求されたとおりに各ファイルを遅延処理することでした。処理済みと未処理を区別するための単純なフラグを使用します。

于 2012-08-02T15:35:44.843 に答える
0

あまり良い方法ではありません。回避策です。次のように置き換え&nbsp;てみてください&#160;

于 2012-07-05T11:57:28.207 に答える