Как избежать точки с запятой в xsl: param? - PullRequest
2 голосов
/ 10 ноября 2009

Я пишу XSL-преобразование в Visual Studio. Сообщается, что точка с запятой в следующем является «неожиданным токеном»:

<xsl:param name="delimiters" select=";#" />

Кто-нибудь знает, как избежать точки с запятой? Он не обнаружен ни в одном из списков символов, которые я нашел до сих пор.

Ответы [ 4 ]

4 голосов
/ 10 ноября 2009

Вы пробовали это?

<xsl:param name="delimiters" select="';#'"/>
4 голосов
/ 10 ноября 2009

Предположительно, вы хотите, чтобы параметр delimiters имел строку ;# в качестве значения, учитывая, что это недопустимое выражение XPath? Если это так, вам нужно указать значение атрибута:

<xsl:param name="delimiters" select="';#'" />

Обратите внимание, что значение теперь заключено в одинарные кавычки; это заставляет значение атрибута интерпретироваться как выражение XPath, которое возвращает строку.

1 голос
/ 10 ноября 2009

Попробуйте следующую сущность (точка с запятой - это символ ASCII 59) ...

&#59;
0 голосов
/ 10 ноября 2009

Валленборн прав. Причина в том, что атрибут select в XSL всегда ожидает выражение XPath. Если вы хотите поместить туда строковый литерал, вам нужно заключить его в кавычки.

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