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>

エラーは次のとおりです。

  • タグに閉じ括弧 '>' がありません
  • 終了タグ「date:day-in-month」がありません

私が見る限り、どちらも当てはまりません。何か考えがありますか、それとも私は盲目ですか?

4

1 に答える 1

3

まず、XSLT は常に有効な XML でなければなりません。あるタグを別のタグの中にネストしているため、あなたのものは明らかにそうではありません。これは、何か間違ったことをしているという最初の手がかりです。

2 つ目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 に答える