无标记的标题和链接缩写/首字母缩略词到词汇表条目的方式

时间:2015-02-27 14:55:33

标签: html xslt docbook-5 docbook-xsl

背景:我正在编写DocBook 5文档(并在其中包含一些已编写的文本),目的是从中生成HTML。我想从一开始就让语义标记正确,所以我以后不需要重新进行,但标准方式似乎并没有产生我想要的东西,所以我'我不确定是否应该偏离它,具体取决于XSL的可能性。

当前设置:我的词汇表只有缩写项目。它由glossentry组成,每个glossterm包含完整拼写acronym和一些非零数量的abbrev和/或glossterm s。我想它可能都只是 <glossentry xml:id="ff"><glossterm>Firefox</glossterm> <acronym>FF</acronym> <glossdef> <para>The web browser made by Mozilla.</para> </glossdef> </glossentry> 而已。这对我来说并不重要。假设我有这个:

FF

理想

假设我想在哪里引用Firefox,我将para放在文本中。理想情况下,没有任何额外的标记,无论何处&#34; FF&#34; (区分大小写)在title图表(或code中显示为一个简单的整个单词,但不是,例如,programlistingtitle或属性内的URL内部...)在我的DocBook文件中,它将以HTML格式显示为文本&#34; FF&#34;但标记为词汇表条目的链接,但不是标准链接CSS,而且Firefox属性的值为acronym。这样,读者可以悬停以获得为其拼写的首字母缩略词/缩写,如果这不足,他们可以点击以获得更全面的定义。与此同时,我将它设计为黑色和下划线,以便他们知道这个功能在那里,但它并没有像普通链接那样分散注意力,特别是它在文本中出现的频率。

主要问题:是否可以在XSL中替换明文,无标记术语(不创建类似the Scunthorpe problem的内容)?如果是这样,是否可以自动为词汇表中的每个abbrevff执行此操作?

我无法弄清楚如何直接这样做,但这仍然是我的目标。与此同时,我尝试过其他事情:

方法1

设置一个键盘宏,这样我就可以输入<xref linkend="ff"/>并在我输入acronym时进行转换。

优点:

  1. 指向词汇表的链接
  2. 拼写缩写
  3. 缺点:

    1. 详细说明了缩写(将其缩短以便阅读,而不仅仅是短片类型)会很好... ...解决方法:将glossterm变为glossentry并将其放在第一位a.xref(失去语义,但也许这可以吗?)
    2. 指向词汇表的链接(我希望它的样式不同)...解决方案:FFFirefox的CSS
    3. 即使有上述两个解决方案,标题也会显示为Firefox,而不仅仅是xml:id(与其他具有多个同义词的人一起,糖化在一起继续)...... { {3}}:在您首选的首字母缩写词/缩写词上放置一个替代endterm,然后让其中的链接引用其linkend属性中的该ID(以及<xsl:param name="glossterm.auto.link" select="1"/>引用到第一个id)
    4. 我必须记住使用键盘宏,而不仅仅是键入并让系统完成工作;然后,任何导入的文本都必须为每个词汇表条目完成文本替换
    5. 方法2

      使用FF和键盘宏将<glossterm>FF</glossterm>更改为acronym

      优点:

      1. 指向词汇表的链接
      2. 缺点:

        1. 详细说明了缩写(将其缩短以便阅读,而不仅仅是短片类型)会很好... ...解决方法:将glossterm变为glossentry并将其放在第一位.glossterm(失去语义,但也许这可以吗?)
        2. 指向词汇表的链接(我希望它的样式不同)...解决方案:title的CSS
        3. 即使解决了上述两个问题,也没有给出{{1}}属性
        4. 我必须记住使用键盘宏,而不仅仅是键入并让系统完成工作;然后,任何导入的文本都必须为每个词汇表条目完成文本替换
        5. 到目前为止,方法1在解决方法之后似乎更好,但有没有办法实现我概述的理想?

0 个答案:

没有答案