XSL-экранирование Апострофа во время xsl: при тестировании
У меня есть следующий код, который, кажется, терпит неудачу.
<xsl:when test="$trialSiteName = 'Physician's Office'">
кроме того, visual studio жалуется, говоря
"ожидаемый конец выражения, найдено "s"
Как я должен экранировать символ?
В XSLT В1.0. Процессор Apache XSL-FO.
4 ответов
гораздо проще -- использовать:
<xsl:when test="$trialSiteName = "Physician's Office"">
-
объявить переменную:
<xsl:variable name="apos" select='"'"'/>
-
используйте переменную, как это в
<xsl:when>
статья:<xsl:when test="$trialSiteName = concat('Physician', $apos, 's Office')">
'
работает для XPath 1.0. Если вы используете XSLT 2.0 с XPath 2.0, попробуйте двойной Апостроф:
<xsl:when test="$trialSiteName = 'Physician''s Office'">
ищите полное объяснение Дмитрия Новачева в его ответе Escape одинарная кавычка в функции XSLT concat
между "
вы можете добавить любые специальные символы, которые вы хотите.
<xsl:when test="$trialSiteName = "Physician's what ever special charactors plainly add Office"">