еще одни выходные и время для дальнейшей игры с DocBook :-)
Я добавил пользовательские элементы в свой документ DocBook и перевожу их в FO, а затем в PDF с помощью XSLT-преобразования. Все это работает довольно хорошо. Например, у меня есть пользовательский элемент главы, например:
<MyChapter xml:id="mychapter">
<title>Test</title>
</MyChapter
Предыстория заключается в том, что я хочу применить определенные структуры в этом документе, и в основном это работает очень хорошо. Есть только одна вещь, которая не работает и с которой я застрял. Мои пользовательские элементы не могут быть целью внешней ссылки. Например. следующее не работает:
<xref linkend="mychapter"/>
Хотя я думаю, что понимаю причину того, что он не работает, я полностью потерялся в исправлении этого. Делал ли кто-нибудь здесь что-нибудь подобное раньше и мог бы дать мне подсказку, как к этому подойти?
РЕДАКТИРОВАТЬ:
Следуя первому ответу, я посмотрел, что произойдет, если будет ссылка на (стандартный) sect3. Кажется, это контролируется следующим шаблоном в этом файл:
<xsl:template match="d:section|d:simplesect
|d:sect1|d:sect2|d:sect3|d:sect4|d:sect5
|d:refsect1|d:refsect2|d:refsect3|d:refsection" mode="xref-to">
<xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/>
<xsl:param name="verbose" select="1"/>
<xsl:apply-templates select="." mode="object.xref.markup">
<xsl:with-param name="purpose" select="'xref'"/>
<xsl:with-param name="xrefstyle" select="$xrefstyle"/>
<xsl:with-param name="referrer" select="$referrer"/>
<xsl:with-param name="verbose" select="$verbose"/>
</xsl:apply-templates>
<!-- FIXME: What about "in Chapter X"? -->
</xsl:template>
Я пытаюсь следовать логике здесь, но я застрял на
<xsl:apply-templates select="." mode="object.xref.markup">
Что делает эта строка?
xml:id
не относится к DocBook или XSLT. Также вы не объяснили, что именно происходит, потому что не работает, получаете ли вы какие-либо ошибки, если да, то какие, в каком контексте (проверка XML, выполнение таблицы стилей XSLT). А для DocBook и XSLT помогает, если вы точно объясните, с какими версиями вы работаете. - person Martin Honnen   schedule 03.03.2018xref
не должен называтьсяlinkend
вместоlinked
? - person Martin Honnen   schedule 03.03.2018