Проблемы с переменной XSLT

#xml #xslt #variables

#xml #xslt #переменные

Вопрос:

Я только начал переходить к now xslt и xml, и, похоже, я не могу решить свою проблему, которая скоро должна быть в моей домашней работе. Это та часть, которая у меня была в начале:

     <p>
    <xsl:text>Date: </xsl:text><xsl:value-of select="/vers/fejlec/ido/ev"/>.
        <xsl:value-of select="/vers/fejlec/ido/honap"/>.
    </p>
  

Третья строка дает мне значение 2
В моем упражнении вместо 2 должно быть указано февраль (в примере это венгерский).

Итак, я сделал это:

    <p>
   <xsl:text>Dátum: </xsl:text><xsl:value-of select="/vers/fejlec/ido/ev"/>.
   <xsl:text> </xsl:text>

   <xsl:variable name="month">
      <xsl:value-of select="/vers/fejlec/ido/honap"/>
   </xsl:variable>

     <xsl:variable name="monthinstring">
       <xsl:choose>
          <xsl:when test="$month=1">januar</xsl:when>
          <xsl:when test="$month=2">februar</xsl:when>
          <xsl:when test="$month=3">marcius</xsl:when>
          <xsl:when test="$month=4">aprilis</xsl:when>
          <xsl:when test="$month=5">majus</xsl:when>
          <xsl:when test="$month=6">junius</xsl:when>
          <xsl:when test="$month=7">julius</xsl:when>
          <xsl:when test="$month=8">augusztus</xsl:when>
          <xsl:when test="$month=9">szeptember</xsl:when>
          <xsl:when test="$month=10">oktober</xsl:when>
          <xsl:when test="$month=11">november</xsl:when>
          <xsl:when test="$month=12">december</xsl:when>
       </xsl:choose>
     </xsl:variable>

     <xsl:text> $monthinstring </xsl:text>

    </p>
  

К сожалению, я не могу распечатать ни month, ни monthinstring, я пробовал больше vaw, но это просто не работает.

Комментарии:

1. Хорошая работа, упомянув, что это домашнее задание. В будущем, пожалуйста, также используйте homework тег (для тех, у кого он отфильтрован.)

2. 1 за отличный первый вопрос.

Ответ №1:

Попробуйте использовать xsl:value-of .

Измените это:

 <xsl:text> $monthinstring </xsl:text>
  

К этому:

 <xsl:value-of select="$monthinstring"/>
  

или это, если вам нужно сохранить пробелы до / после $monthinstring :

 <xsl:value-of select="concat(' ',$monthinstring,' ')"/>