【问题标题】:Number format needed as prefix for the xhtml files of dita ot epub output需要数字格式作为 dita ot epub 输出的 xhtml 文件的前缀
【发布时间】:2018-07-06 10:37:54
【问题描述】:

我使用 Dita OT 1.8.5 进行 epub 转换:但我需要数字序列格式 01、02、03 .. epub 输出中 xhtml 文件名的前缀。

我已将 html-generation-utils.xsl 函数中的代码更改为文件名的编号顺序,如下所示:

<xsl:function name="htmlutil:constructHtmlResultTopicFilename" as="xs:string">
    <xsl:param name="topic" as="document-node()"/>
    <xsl:variable name="topicFilename"
      select="concat(htmlutil:getResultTopicBaseName($topic), $OUTEXT)"
      as="xs:string"/>
    <xsl:for-each select="$topic">
<xsl:variable name="number"><xsl:value-of select="format-number(position(),'00')"/></xsl:variable>
<xsl:sequence select="concat($number, $topicFilename)"/>
</xsl:for-each>
  </xsl:function>

我将所有前缀的文件名输出仅作为“01”。

但我需要前缀为 01, 02, 03, ...

请提出建议。

提前致谢

【问题讨论】:

  • 也许你可以尝试 而不是 'number' 变量和 'position( )' ?

标签: xslt dita dita-ot


【解决方案1】:
<xsl:template name="get-result-topic-base-name-single-dir">
    <xsl:param name="topicUri" as="xs:string"/>
    <xsl:variable name="topicID" select="/*[contains(@class, ' topic/topic ')]/@id" />     
    <xsl:variable name="topic_count">
      <xsl:for-each select="$collected-data-global">
        <xsl:for-each select="mapdriven:collected-data/enum:enumerables/enum:topicref[@topicID=$topicID]">
          <xsl:number count="enum:topicref" format="01" />
        </xsl:for-each>
      </xsl:for-each>
    </xsl:variable>
    <xsl:variable name="maintitle"><xsl:apply-templates select="/*[contains(@class, ' topic/topic ')]/*[contains(@class, ' topic/title ')]" mode="text-only"/></xsl:variable>
    <xsl:variable name="filename_characters_to_remove">~!@#$%^*()_+`-={}|[]\:";'?,./&#160;&lt;&gt;&amp;&#x2018;&#x2019;&#x201C;&#x201D;&#x2013;&#x2014;</xsl:variable>
    <xsl:variable name="puncremoved" select="translate($maintitle, $filename_characters_to_remove,'')"/>
    <xsl:variable name="baseName" select="translate($puncremoved, ' ','_')" as="xs:string"/>
    <xsl:sequence select="concat($topic_count, '_', $baseName)"/>
  </xsl:template>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 2017-05-17
    • 2017-07-02
    • 2017-06-23
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多