質問

スタイルシートでEXSLT-DYN:EVALUATEを使用します。名前のペースを追加しましたが、インポートする必要がある.xslファイルの場所がわかりません。インポートを指すXALANがインストールされているとは思わない。これをどのようにインストールしますか?インストールしたら、.xslをポイントし、関数を取得して適用しますか? Windowsを実行しています。 XSLTファイルは、XMLドキュメントの上部に含まれています。

ありがとう

ピート

役に立ちましたか?

解決

XalanにはEXSL dyn:evaluate関数が組み込まれています。使用するために何もインポートする必要はありません。名前空間を宣言するだけです。小さな例を挙げます:

input.xml

<root>
<foo>I am foo</foo>    
<bar>I am bar</bar>    
</root>

dyn_evaluate.xsl

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:dyn="http://exslt.org/dynamic"
    extension-element-prefixes="dyn">

  <xsl:param name="path"/>

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:value-of select="dyn:evaluate($path)"/>
  </xsl:template>

</xsl:stylesheet>

実行中

xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl

与える

I am foo

実行中

xalan.exe -p path '/ root / bar' input.xml dyn_evaluate.xsl

与える

I am bar

これがお役に立てば幸いです。

他のヒント

JSPページからこれをどのように呼び出しますか? JSPはXMLを提供し、現在スタイルシートをXMLページに添付し、結果をサーバーします。

できません。スタイルシートが添付されたXMLページをクライアントに提供する場合、これは機能しません。ブラウザはexsltをサポートしていません。

ただし、サーバー上で(xalanを使用して)XSLT処理を行うと動作するようになりますが、xsltをjspと組み合わせる方法がわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top