1

field[@name='url']次の形式を持つことができるSolr からの一連のレコードがあります。

http://url/blabla/blabla.aspx?sv=[keyword%20keyword,%201]

私の理解では、角括弧は配列構文を示しており、XSLT を使用してすべての URL から角括弧を削除したいと考えています。

現在、これらの文字を適切に処理できない Open URL リゾルバーを使用しています。最適なオプションは、そのようなリソースが Open URL リゾルバーによって仲介される前に、すべての URL から角括弧を削除することです。

URL ごとに複数の角括弧が出現する場合があります。

4

3 に答える 3

3

恒等変換テンプレートを使用し、

<xsl:template match="field[@name='url']">
  <xsl:copy>
    <xsl:copy-of select="@*"/>
    <xsl:value-of select="replace(., '\[\]', '')"/>
  </xsl:copy>
</xsl:template>

ブラケットを削除する XSLT 2.0 スタイルシートがあります。

于 2013-11-05T21:51:26.780 に答える
2

角括弧をエスケープするのではなく、なぜ削除したいのですか? iri-to-uri()私の本能は、それらをパーセントエンコードする関数を使用することです:

http://www.w3.org/TR/xpath-functions-30/#func-iri-to-uri

于 2013-11-05T22:51:13.990 に答える