0

XML ファイルを修正するために XSLT を使用する方が、DOM、JDOM、SAX、JSoup などの XML パーサーを使用するよりも効率的で好ましい方法であるというテクニカル ペーパーを読みました。 XML パーサーよりも効率的であり、使用するのに適しています。(XSLT はより一般化された簡単なソリューションを提供しますか?) ありがとうございます。

例: XML ファイルが 1 つある場合:

<node1>
<node2> TEXT </node2>
</node1>

出力は次のように必要です。

<node1>
<node2> TEXT </node2>
<script src="xyz.js"></srcipt>
</node>

次に、XSLT を記述して目的の出力を取得するか、XML パーサー (DOM、SAX など) を使用して Java プログラムを記述し、必要な要素を目的の場所に挿入して目的の出力を得ることができます。そのため、XSLT がより好ましく効果的であると考えられていることを読みました。

4

2 に答える 2

6

効率は視点の概念です....

優れた XSLT 変換ドキュメントは非常に小さく、経験豊富な「XSLT エキスパート」がまとめるのに少し時間がかかります。「開発」の観点からは、非常に効率的です。

ただし、CPU サイクルに関しては、XSLT オプションが最も効率的であるとは言えません。

プロセスの適切な「直接」(DOM/JDOM/SAX/その他) プログラミングは、XSLT よりも高速であり、さらに高速でありながら非 XML ベースのプロセスになります... (「sed」や「awk」など) .

それで、私はあなたの「技術論文」の結論に異議を唱えます。多くの場合、XSLT は (専門家にとって) 保守や変更などが容易であるため、他のソリューションよりも「好ましい」ものです。しかし、「効率」に関しては、テクニカル ペーパーでまずそれが何を意味するのかを定義する必要があります。

要するに、XSLT は何らかの XML モデル (SAX/DOM/JDOM など) の上にあるため、生のモデルほど効率的ではないということです....そして、すべての XML モデルには非効率性があります。その層も取り除きます。

ロルフ

于 2012-08-10T12:54:55.310 に答える
5

多くの小さな変換の場合、コストは解析とシリアル化によって支配され、変換ロジックがXSLTで記述されているかJavaで記述されているかには依存しません。(XSLTで記述してください。作業量が少ないためです)。

変換がより複雑になると、賢いJavaプログラマーはおそらくXSLTエンジンよりも優れたパフォーマンスを発揮しますが、平均的なJavaプログラマーはそうではありません。OK、あなたはあなたが賢いことを知っています。しかし、平均して、あなたはおそらく平均的です。

于 2012-08-10T17:14:29.860 に答える