2009-10-07 5 views
0

Nul doute que ce sera quelque chose d'évident, mais le code suivant a 2 erreurs sur la ligne marquée:problème de syntaxe EXSLT

<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> 

Les erreurs sont:

  • Tag support fermante manquante « > »
  • tag fin manquante « Date: jour après mois »

Pour autant que je ne vois aucun des deux est le cas. Des pensées, ou suis-je simplement aveugle?

Répondre

3

Pour commencer, XSLT doit toujours être valide au format XML. Le vôtre ne l'est clairement pas, puisque vous imbriqué une étiquette dans une autre. C'est votre premier indice que vous faites quelque chose de mal.

Ensuite, date:day-in-month est une fonction XPath, pas un élément, et doit donc être utilisée dans une expression XPath. Ce dernier peut, par exemple, être une valeur de xsl:value-of/@select attribut:

<xsl:value-of select='date:day-in-month(@start_date)' /> 
+0

Merci beaucoup. Je suis très certainement au début de la courbe d'apprentissage avec XML. Voir l'explication ainsi que la solution est très utile. – dnagirl