0

毫无疑问,这将是显而易见的,但以下代码在标记的行上有 2 个错误:

<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:date="http://exslt.org/dates-and-times"
    extension-element-prefixes="date">

  <xsl:import href="date/date.xsl" />

  <xsl:template match="//day">
    <td>
      <date:day-in-month(<xsl:value-of select='@start_date' />)/> <!--problem here-->
    </td>
  </xsl:template>   
</xsl:stylesheet>

错误是:

  • 标记缺少右括号'>'
  • 缺少结束标记“日期:月份中的某天”

据我所知,这两种情况都不是。有什么想法,还是我只是瞎了眼?

4

1 回答 1

3

首先,XSLT 必须始终是有效的 XML。您的显然不是,因为您将一个标签嵌套在另一个标签中。这是你做错事的第一个线索。

其次,date:day-in-month是 XPath 函数,而不是元素,因此必须在 XPath 表达式中使用。例如,后者可以是xsl:value-of/@select属性值:

<xsl:value-of select='date:day-in-month(@start_date)' />
于 2009-10-07T17:19:32.990 回答