次のコードが失敗しているようです。XSL - xslの間にアポストロフィをエスケープする:テストのとき
<xsl:when test="$trialSiteName = 'Physician's Office'">
また、Visual Studioは
を言って "さん見出される発現の期待終わり、"
を不平を言っているどのように私は文字をエスケープすることが出来るのですか?
XSLT v1.0。 Apache XSL-FOプロセッサ
次のコードが失敗しているようです。XSL - xslの間にアポストロフィをエスケープする:テストのとき
<xsl:when test="$trialSiteName = 'Physician's Office'">
また、Visual Studioは
を言って "さん見出される発現の期待終わり、"
を不平を言っているどのように私は文字をエスケープすることが出来るのですか?
はるかに簡単な -を使用します。
<xsl:when test="$trialSiteName = "Physician's Office"">
'
はXPath 1.0で動作します。あなたは、XPath 2.0とXSLT 2.0を使用している場合は、二重アポストロフィを試してみてください。
<xsl:when test="$trialSiteName = 'Physician''s Office'">
Dimitre Novatchevによって完全な説明を探し彼の答えでEscape single quote in xslt concat function
これは機能しませんでした。ビジュアルスタジオはまだエラーを表示します。ロジックが正しく実行されません。 –
@_Phillip:はい、同じテクニックを使用することができます。 –
変数を宣言します。
<xsl:variable name="apos" select='"'"'/>
<xsl:when>
句の変数を次のように使用します。
<xsl:when test="$trialSiteName = concat('Physician', $apos, 's Office')">
+1。 '
あなたの問題はhttp://stackoverflow.com/questions/646194/xsl-character-escape-problemに関連していませんか?その場合は、試してみてください:& apos; – Dan
@ダン・レーマン - それはうまくいかなかった。私はそれらの問題は同じだとは思わない。 –
回避策として、C#でこの文字を削除してからXSLTプロセッサに渡します。これはすべての状況で機能しないので、私はこの質問を開いたままにします。 –