2
Silverlightで行う方法はありますか。XslCompiledTransform
は完全な.NETで何をしますか?
System.Xml.Xsl名前空間は、明らかにSLでは完全ではありません。SilverlightでのXSL変換
Silverlightで行う方法はありますか。XslCompiledTransform
は完全な.NETで何をしますか?
System.Xml.Xsl名前空間は、明らかにSLでは完全ではありません。SilverlightでのXSL変換
単純な答えは次のとおりです。あなたがしたいと思う理由を想像するのも難しいですが、私はあなたが持っている必要があると確信しています。
とに既存のXSLトランスフォームを実際に使用する必要がある場合、Silverlightアプリケーションはブラウザで実行するように設計されているため、ホストブラウザでトランスフォームを実行することができます。
例えば、IEのために使用することができます: -
HtmlPage.Window.Eval(@ "function transform(xml, xsl)
{
var xmlDOM = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDOM.LoadXML(xml);
var xslDOM = new ActiveObject("MSXML2.DOMDocument.3.0");
xslDOM.LoadXML(xsl);
return xmlDOM.transformNode(xslDOM);
}");
今二つの文字列、XMLおよび使用XSL与えられた: - あなたは、このクロスブラウザを作るためにもちろん
string result = HtmlPage.Window.Invoke("transform", xmlString, xslString) as string;
をブラウザを検出し、変換関数に正しいコードを注入する必要があります。ブラウザによっては、他のブラウザよりも多くのフープでジャンプすることができますが、実行することができます。
@_AnthonyWJones:Saxon CEで動作し、XSLT 2.0を使用するのと同様の方法をOPと一般の人々に示すことは興味深いかもしれません。そのようなことが可能であることを知るだけです。 :) –
@ DimitreNovatchev:Silverlight用の "Saxon CE"ライブラリはありますか?そうではないようです。この質問のコンテキストで興味のあるSilverlight XAPの一部として他のXSLTプロセッサを提供する方法があったとしても、私はそこにいるとは思わない。 – AnthonyWJones
@_AnthonyWJones:私はあなたがIEが理解する任意のJavascriptコードを使用できると思っていました。そうであれば、SaxonCEを開始することができます。 @Michael Kayはもちろん、サクソンの権威ある人です。 –