2

我正在写我的论文,我的教授希望我使用 APA 风格。这里我有一个问题,它显示像这样的日期“DD.MM YYYY”但是,我希望它是“DD.MM.YYYY”。

不知何故,它不仅通常使用空格,而且日期后面还有一个点。这意味着它不是我一般不喜欢的风格,但它似乎有问题。为什么?

我查看了 xls 文件,但找不到确切的问题。在哈佛 xml 中,这很容易,因为我只需要将“空格”更改为“点”模板。然而,在这里,他们似乎使用递归样式,我不知道我需要在哪里进行更改。

如果有人能帮助我,我将不胜感激!

我使用office365,并尝试更改我在C:\Users\$user\AppData\Roaming\Microsoft\Bibliography\Style\APASixthEditionOfficeOnline.xsl

这里(pastebin)是该部分的原始代码,我相信其中放置了“空格”和“点”。

参数是:

  • 格式:是MYDMY(取决于是否放置了日期字段)

  • 日月年:是源的数据

  • withDot 最初没有设置(至少我在任何地方都找不到)

我需要任何进一步的信息,请告诉我。

更新

是来自 Windows 的完整参考书目样式代码。

我认为在格式化日期时调用的所有模板的选定代码。

4

1 回答 1

2

无法从您发布的内容中重现问题,主要是因为您引用的模板需要其他模板。

在任何情况下,如果您只需要生成两种不同格式的日期,您可以通过以下方式更简单地做到这一点

<xsl:template name="formatDate">
    <xsl:param name="day"/>
    <xsl:param name="month"/>
    <xsl:param name="year"/>    
    <xsl:param name="format" />
    <xsl:choose>
        <xsl:when test="$format='DMY'">
            <xsl:value-of select="format-number($day, '00.')"/>
            <xsl:value-of select="format-number($month, '00.')"/>
            <xsl:value-of select="$year"/>
        </xsl:when>
        <xsl:when test="$format='MY'">
            <xsl:value-of select="format-number($month, '00.')"/>
            <xsl:value-of select="$year"/>
        </xsl:when>
        <xsl:otherwise>??</xsl:otherwise>
    </xsl:choose>
</xsl:template>

调用模板的示例:

称呼:

<date>
    <xsl:call-template name="formatDate">
        <xsl:with-param name="format" select="'DMY'"/>
        <xsl:with-param name="day" select="5"/>
        <xsl:with-param name="month" select="3"/>
        <xsl:with-param name="year" select="2014"/>
    </xsl:call-template>
</date>

返回:

<date>05.03.2014</date>

称呼:

<date>
    <xsl:call-template name="formatDate">
        <xsl:with-param name="format" select="'MY'"/>
        <xsl:with-param name="month" select="7"/>
        <xsl:with-param name="year" select="1876"/>
    </xsl:call-template>
</date>

返回:

<date>07.1876</date>
于 2014-12-06T02:23:06.997 回答