XSL - выход из апострофа во время xsl: при тестировании - PullRequest
7 голосов
/ 30 сентября 2011

У меня следующий код, который, похоже, не работает.

<xsl:when test="$trialSiteName = 'Physician&apos;s Office'">

Кроме того, визуальная студия жалуется, говоря

"Ожидаемый конец выражения, найдено"

Как я должен сбежать от персонажа?

<час /> XSLT v1.0. Процессор Apache XSL-FO.

Ответы [ 4 ]

9 голосов
/ 01 октября 2011

Гораздо проще - используйте :

   <xsl:when test="$trialSiteName = &quot;Physician&apos;s Office&quot;">
7 голосов
/ 30 сентября 2011
  1. Объявите переменную:

    <xsl:variable name="apos" select='"&apos;"'/>
    
  2. Используйте переменную, подобную этой, в предложении <xsl:when>:

    <xsl:when test="$trialSiteName = concat('Physician', $apos, 's Office')">
    
1 голос
/ 07 июня 2018

между &quot; вы можете добавить любые специальные символы, которые вы хотите.

<xsl:when test="$trialSiteName = &quot;Physician's what ever special charactors plainly add Office&quot;">
1 голос
/ 30 сентября 2011

&apos; работает для XPath 1.0.Если вы используете XSLT 2.0 с XPath 2.0, попробуйте двойной апостроф:

<xsl:when test="$trialSiteName = 'Physician''s Office'">

Ищите полное объяснение Димитра Новатчева в своем ответе Избегайте одинарных кавычек в функции xslt concat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...