Функция htmlutil: getResultTopicBaseName () генерирует имя файла для HTML-файлов результатов, созданных из тем.
Эта функция использует шаблоны в режиме get-result-topic-base-name (если вы явно не включили стратегию организации файлов с одним каталогом), базовая реализация которой:
<xsl:template match="/" mode="get-result-topic-base-name">
<xsl:param name="topicref" tunnel="yes" as="element()?"/>
<xsl:param name="topicUri" as="xs:string"/>
<!-- Default template for organizational strategies other than single-dir -->
<xsl:variable name="baseName" as="xs:string">
<xsl:choose>
<xsl:when test="string($topicref/@copy-to) != ''">
<xsl:sequence select="relpath:getNamePart($topicref/@copy-to)"/>
</xsl:when>
<xsl:otherwise>
<xsl:sequence select="relpath:getNamePart($topicUri)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:sequence select="$baseName"/>
</xsl:template>
Который по умолчанию просто использует значение @ copy-to или @href.
Вы можете переопределить этот шаблон, чтобы делать то, что вы хотите, например, использовать заголовок темы.
Другой вариант, если вы используете OT 1.8.5, - расширить плагин Adjust Copy-to, чтобы в атрибуте @ copy-to указывались нужные вам имена файлов. Это приводит к применению этих имен файлов к любому процессу OT, не только к EPUB, но требует, чтобы вы использовали специфичную для D4P настройку предварительной обработки, которая используется преобразованиями, предоставляемыми D4P (EPUB, D4P HTML2, D4P HTML5).
Плагин Adjust Copy-to (в настоящее время) не работает с 2.x и 3.x Open Toolkit, потому что предварительная обработка была в значительной степени переписана, и у меня не было возможности обновить плагин EPUB. В настоящее время я работаю над обновлением преобразования EPUB для работы с OT 2.5.4 и 3.x.