0

こんにちは、ソースからの 2 つの異なる文字列から URI を作成しています。

String1 = 12345&67890
String2 = 78326832

URI = /api?invoice=String1&supplier=String2

studio で利用可能な concat 関数を使用した後の、これが最終的な URI です。

/api?invoice=12345&67890&supplier=78326832

(67890 をクエリとして取得するため、Get リクエストは失敗します)

期待される出力は

/api?invoice=12345&67890&supplier=78326832

どうすればこれを達成できますか、xslt を使用してシンボルを HTML エンティティ文字に変換できますか

4

1 に答える 1

1

予想される出力/api?invoice=12345&67890&supplier=78326832はかなり奇妙です: 一部のアンパサンドを (XML/HTML レベルで) エスケープし、他のアンパサンドをエスケープしないままにすることが理にかなっているコンテキストはありません。

あなたが本当に望んでいるのは、最初のアンパサンドに (XML エスケープではなく) URI エスケープを使用することだと思います/api?invoice=12345%2667890&supplier=78326832。XSLT 2.0 を使用して URI を作成している場合は、文字列を連結して URI にする前に、encode-for-uri() を介して文字列を渡すことでこれを実現できます。

しかし、処理のコンテキストに関する情報がほとんど提供されていないため、正確に何が必要かを確認するのは困難です。

于 2018-04-16T17:18:30.267 に答える