毫无疑问,这将是显而易见的,但以下代码在标记行上有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>
错误是:
到目前为止,我看不到这两种情况。有什么想法,还是我只是盲目?
答案 0 :(得分:3)
首先,XSLT必须始终是有效的XML。显然不是,因为你将一个标签嵌入另一个标签内。这是你做错事的第一个线索。
其次,date:day-in-month
是XPath函数,而不是元素,因此必须在XPath表达式中使用。例如,后者可以是xsl:value-of/@select
属性的值:
<xsl:value-of select='date:day-in-month(@start_date)' />