специальный символ внутри строки xslt - PullRequest
0 голосов
/ 17 марта 2011

Необходимо иметь возможность передать одинарную кавычку в строке Cmm'l, чтобы она читала оригинальный файл xml для этой фразы.Как мне это сделать?

<xsl:when test="contains(ct-type/cats, 'Cmml') or contains(ct-type/cats, 'rst')">
<xsl:element name="Terms">
<xsl:value-of select="'example'"/>
</xsl:element>
</xsl:when>

Ответы [ 2 ]

0 голосов
/ 17 марта 2011

Вы можете использовать апострофы в качестве разделителей значений атрибута, а затем использовать сущность внутри строки:

<xsl:when test='contains(ct-type/cats, "Cmm&apos;l") or contains(ct-type/cats, "rst")'>

Если вам нужны и кавычки, и апострофы в строке, то вы можете использовать, например, переменные для строк илизнаки препинания.

0 голосов
/ 17 марта 2011

Вы можете передать значение как переменную или параметр.

Я уверен, что есть намного лучший способ сделать это, но я не могу думать об этом прямо сейчас.

Вот пример передачи его в качестве параметра со значениями по умолчанию:

  <xsl:template match="doc">
    <xsl:param name="cat_type_1">
      <xsl:text>Cmm'l</xsl:text>
    </xsl:param>
    <xsl:param name="cat_type_2">
      <xsl:text>rst</xsl:text>
    </xsl:param>
    <xsl:if test="contains(ct-type/cats, $cat_type_1) or contains(ct-type/cats, $cat_type_2)">
      <Terms>Example</Terms>
    </xsl:if>
  </xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...