Невозможно использовать xsl: переменные в выражениях xpath? Я уверен, что моя переменная имеет правильное значение. Попробовал это как строку, так и число. Первый один работает, но второй один выбирает все содержимое узла, а не только один с индексом 4.Переменные в выражениях xpath
<xsl:apply-templates select="data/contents[4]/content" >
<xsl:apply-templates select="data/contents[$myVariable]/content" >
редактировать
<xsl:variable name="dayOfWeekIndex">
<xsl:choose>
<xsl:when test="lower-case($dayOfWeek) = 'monday'">
<xsl:value-of select="number(1)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'tuesday'">
<xsl:value-of select="number(2)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'wednesday'">
<xsl:value-of select="number(3)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'thursday'">
<xsl:value-of select="number(4)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'friday'">
<xsl:value-of select="number(5)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'saturday'">
<xsl:value-of select="number(6)" />
</xsl:when>
<xsl:when test="lower-case($dayOfWeek) = 'sunday'">
<xsl:value-of select="number(7)" />
</xsl:when>
</xsl:choose>
</xsl:variable>
Вы можете быть заинтересованы, чтобы увидеть XPath * один лайнер *, который делает то, что 25 строк выше делать. –