3

XSLTSLは、ソースをダウンロードせずにEXSLTを使用できると主張しているようです。

ライブラリのWebサイトから直接、メインのスタイルシートまたは使用するスタイルシートモジュールのいずれかをインポートまたはインクルードします。http://xsltsl.sourceforge.net/modules/。modulesディレクトリには、常に最新の安定したリリースが含まれています。

私はこれを試しました:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="http://xsltsl.sourceforge.net/modules/string.xsl"/>
  <xsl:output method="text" indent="yes"/>

  <xsl:template match="/">
    <xsl:call-template name="str:to-upper">
      <xsl:with-param name="text">hello world</xsl:with-param>
    </xsl:call-template>
  </xsl:template>
</xsl:stylesheet>

しかし、それは機能していません。ソースをダウンロードせずにEXSLTを使用できないようです。

ソースをダウンロードせずにEXSLTを使用する方法はありますか?

4

2 に答える 2

2

ライブラリの使用で説明されているように、ライブラリをダウンロードして、

<xsl:import href="stdlib.xsl"/>

xsltスクリプトにインポートします。

ところで、代わりにxslttranslate関数を使用することもできます。

translate(value,"abcdefghijklmnopqrstuvwxyz","ABCBCDEFGHIJKLMNOPQRSTUVWXYZ")

複数の場所で使用するのは少し大きいですが、これをテンプレートに配置できる限り、それほど重要ではありません。

于 2011-06-09T07:56:59.627 に答える
1

ライブラリを正しく使用していません。こちらの手順をご覧ください。

ライブラリをダウンロードしたら、次のことを行う必要があります。

1)xslファイルにインポートを追加します。

<xsl:import href="string.xsl"/>

2)名前空間を追加します。

xmlns:str="http://xsltsl.org/string"

3)次のようにテンプレートを呼び出します。

<xsl:template match="foo">
  <xsl:call-template name="str:to-upper">
    <xsl:with-param name="text">hello world</xsl:with-param>
  </xsl:call-template>
</xsl:template>

これにより、が生成されHELLO WORLDます。

アップデート:

いいえ、ライブラリをローカルにダウンロードする必要はありません。string.xsl完全なURLを使用してリンクするだけです。

于 2011-06-09T07:56:28.433 に答える