私は(正しい答えは2457526で、これはただの練習です!)この日のためにユリウス日を算出する(XSL 2.0および拡張がオプションではありません)XSLを使用したい、このシンプルなXMLファイルXSLどのように特定の日付のユリウス日を見つけるには?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="faan.xsl"?>
<datum>2016-05-17</datum>
を持っていますこのスタイルシートは多くの場所にコピーペーストされているように見えました。 しかし、エクスプローラでファイルを開くと、日付2016-05-17が表示されます。Excelで開くと、ここではxsl:with-paramを使用できません。 私は明らかに何かを非常にシンプルに逃しましたが、何ですか?ここ
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="datum">
<xsl:sort select="datum"/>
<dateline>
<datum><xsl:value-of select="datum"/></datum>
</dateline>
</xsl:for-each>
</xsl:template>
<xsl:template match="datum">
<xsl:call-template name="calculate-julian-day" />
<xsl:with-param name="year" select="substring(datum,1,4)" />
<xsl:with-param name="month" select="substring(datum,6,2)" />
<xsl:with-param name="day" select="substring(datum,9,2)" />
</xsl:template>
<xsl:template name="calculate-julian-day">
<xsl:param name="year"/>
<xsl:param name="month"/>
<xsl:param name="day"/>
<xsl:variable name="a" select="floor((14 - $month) div 12)"/>
<xsl:variable name="y" select="$year + 4800 - $a"/>
<xsl:variable name="m" select="$month + 12 * $a - 3"/>
<xsl:value-of select="$day + floor((153 * $m + 2) div 5) + $y * 365 + floor($y div 4) - floor ($y div 100) + floor($y div 400) - 32045"/>
</xsl:template>
</xsl:stylesheet>
です:あなたは '配置する必要があるのxsl:with- 'xsl:call-template'の中で' 'param''を実行します。そして、テンプレートと一致する 'datum'は決して適用されません。 –