2011-08-27 16 views
1

私は、 "cleaned"する必要のあるユーザ生成要素がたくさんあるWebページを持っています。その目的に合っているため、クリーンアップをXSLT変換として表現したいと思います。DOM要素にXSLT変換を適用できますか?

Webページの一部にXSLT変換を適用する方法はありますか? (そして、最初にtagsoupに似たものでソース要素をチェックして、整形式であることを確認する必要がありますか?)

私が見つけたすべての例は、Ajaxを介してXMLファイルとXSLファイルを取得することです一方を他方に対して実行しますが、DOMのサブセットをとり、その上でXSLTを実行することはありません。それはできますか?

答えて

1

あなたはその中で何をしたいのですか?ドキュメント(「Webページ」)は既にブラウザウィンドウに読み込まれていますか?いくつかのブラウザはAPIをJavascriptに公開してXSLTをDOMノードに適用します。 MozillaはAPIを導入し、Operaのような他のブラウザはそれをコピーした:https://developer.mozilla.org/en/using_the_mozilla_javascript_interface_to_xsl_transformations

もちろん、ブラウザ内で動作するSaxon-CEがあります:http://www.saxonica.com/ce/doc/contents.html。これにより、XSLT 2.0をDOMノードに適用することさえできます。

+0

Mozilla APIは、私が探しているものとまったく同じように見えます。クロスブラウザソリューションがあるかどうか知っていますか? (私はSaxon CEについて聞いたことがありますが、これは非常にアルファです。ダウンロードが大量で、商用ライセンスが必要なときにはそれを求めます。ブラウザ内のXSLT 1.0変換を使用します。必要)。 – Bambax

+0

クロスブラウザのアプローチについては、私もOperaがMozilla APIをサポートしていると言いましたが、私はChromeとSafariを使用していると思いますが、実行するときに問題が発生すると思います(http:// stackoverflowを参照してください)。 com/questions/6985048/transforming-html-nodes-with-xslt-in-chrome-webkit)。 IEはそのAPIをサポートしておらず、XHTMLとSVG DOMドキュメントをサポートするIE 9でもIEが実装するDOMとしてXSLTを適用することはできないと考えていますが、MSのCOMベースのXSLTプロセッサが実装するDOM XSLT入力ツリーとしてそれぞれ消費します。 –

0

HTMLはXMLではないので、HTMLページでXSLT変換を実行することはできません。しかし、あなたはXHTMLページでそれを行うことができます。

関連する問題