2017-03-13 1 views
0

クライアントサイドでxslt paramを設定するには、このサーバーサイドのバージョンに相当するものは何でしょうか?パラメータクライアント側XSLT

$xslt = new XSLTProcessor(); 
$xslt->setParameter('', 'value', $_REQUEST['value']); // param 1 
$xslt->setParameter('', 'column', $_REQUEST['column']); // param 2 
$xslt->setParameter('', 'page', $_REQUEST['page']); // param 3 
$xslDoc = new DOMDocument(); 
$xslDoc->load('nginxSearchPaginated.xsl', LIBXML_NOCDATA); 
$xslt->importStylesheet($xslDoc); 
echo $xslt->transformtoXML($xmlDom1); 

すべてのパラメータは、上記のようにREQUESTから取得する必要があります。コードは、作業を行いますが、私はページネーションのためのパラメータを必要とするパラメータを指定しない

$xslt = $xmlDom1->createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="clientSideFewSearch.xsl"'); 
$xslt->setParameter('', 'value', $_REQUEST['value']); // param 1 
$xslt->setParameter('', 'column', $_REQUEST['column']); // param 2 
$xslt->setParameter('', 'page', $_REQUEST['page']); // param 3 
$xmlDom1->insertBefore($xslt,$xmlRoot1); 
echo $xmlDom1->saveXML(); 

これは私がこれまでにクライアント側を試してみましたものです。

すべてのヘルプは(私はあなたがブラウザで、意味と仮定したことで)XSLT「クライアント側」を実行しているのは2つの方法が基本的にあります偉大なおかげ

+0

変換を行うためにクライアント側に必要なソフトウェアがインストールされていると仮定しています。なぜクライアント側で変換が必要なのですか? –

+0

私は私の講師に尋ねられました。 – jamied

+0

私はすべてのサーバー側を達成しましたが、クライアントで演習を繰り返す必要があります。 – jamied

答えて

0

だろう。最初の方法は、ほとんどすべてのブラウザに組み込まれているXSLT 1.0プロセッサを使用することです。もう一つは、Javascriptで書かれたXSLT 3.0プロセッサであるSaxon-JSを使うことです。

組み込みのXSLT 1.0プロセッサを使用する場合は、XMLファイルの<?xml-stylesheet?>処理命令を使用して有効にすることができます(この場合、パラメータを提供する方法はありません。いくつかのXML文書からの情報)。あなたがXSLT 3.0を提供していますが、またできるだけでなくその(代わりサクソン-JSを使用したい場合は

XSLTProcessor.prototype.setParameter = function(nsURI, name, value){...} 

:またはあなたが一般的にパラメータを設定する方法があります必ずSarissaのAPIを使用して、JavaScriptからの変換を呼び出すことができますスタイルシートを対話的に処理し、ユーザーが開始したイベントを処理する)、http://www.saxonica.com/saxon-js/documentation/index.html#!api/transform(それ自体はSaxon-JSアプリケーション)のドキュメントを参照して、stylesheetParamsオプションを使用してパラメータを指定できます。