2010-12-31 7 views
1

XSL変数に含まれる文字列を実行しようとしています。UmbracoではどのようにExslt.dyn(特に '評価'メソッド)を使用していますか?

UmbracoにはいくつかのExslt部分のフックがありますが、Exslt.dyn(Exslt.dynamic)はその1つではないようです。

どのように追加しますか?好みの順に許容可能なメソッド(:(おそらく)EXSLTダイナミックのための既存のUmbracoコードを使用して、独自のXSLT拡張を書く

  1. Umbracoにhttp://www.exslt.org/dyn/functions/evaluate/index.htmlからXSLをアップロード
  2. 追加するUmbracoのソースを変更します。それは(おそらくEXSLTダイナミックのための既存のUmbracoコードを使用して)。

私はいくつかのUmbraco XSLTソースは、私はUmbracoの一部のバージョンでは、既存の想定しています参照を示しているためEXSLT Dyanmicが言及した理由。私はそれを見つけることができませんサワーしかし、CEコード。 (例:ここに貼り付けられたXSLソース:http://our.umbraco.org/projects/starter-kits/business-website-starter-pack/general-%28bugs,-feedback,-feature-requests%29/8085-Changing-the-first-day-to-fx-monday

+0

良い質問、+1。 EXSLT 'dyn:evaluate()'関数を妥当な努力を払って実装できないという確認のために私の答えを見てください。 –

答えて

1

dyn:evaluate()を実装しているXSLTプロセッサはごくわずかですが、Umbracoは明らかにこれらのいずれかを使用していません。

この場合は何もできません。

将来XSLT 2.0プロセッサを組み込むことUmbraco開発を依頼 - XSLT 2.0は、任意のXPath式で参照することができる機能を定義するためネイティブ<xsl:function>命令を有しています。

+0

明確な答えをありがとう。私はあなたの "合理的な努力をして"私の質問のオプション#3(ソースコードにパッチを当てる)が行く唯一の方法であることを意味しています。 私はそれの周りに自分の道をコーディングしました。ソースの現在の状況を考えれば(彼らは大きな5.0のリリースよりも前にすべてをシフトしています...)私はソースコードパッチの近くにはいません。 – jeffreypriebe

0

これが機能するかどうかはわかりませんが、Exslt.ExsltDynamicがXSLTの.NET実装でそのままサポートされている場合は、これが機能するはずです。スタイルシートでxmlns:Exslt.ExsltDynamic = "urn:Exslt.ExsltDynamic"という名前のスペースを追加し、exclude-result-prefixesプロパティにExslt.ExsltDynamicを追加してxsltファイルにアクセスできるようにします。

あなたのテンプレートのようなことができます。

+0

ハ! "良いとは思うが、":プレフィックス 'urn:Exslt.ExsltDynamic'を実装しているスクリプトや外部オブジェクトを見つけることができない。 注:Umbraco Sourceでは実装しているExslt名前空間ごとに.csファイルを作成するのに手間がかかる(これは.net 2.0の実装が、.net 2.0の前にこれらをコーディングしていた可能性があることを証明していません)。 – jeffreypriebe

+0

.NET(XslCompiledTransform)では 'common:node-set()'を除く他のExslt関数はサポートされていません –

関連する問題