如何使用 DITA subjectSchemes?

And*_*ers 2 dita

DITA 中的 subjectScheme 是创建元数据分类的合适格式,但应该如何使用它呢?具体来说,我的问题涉及以下方面:

  1. 它可以用来表示元数据元素,还是仅表示元数据属性?我只看到它应用于属性,这使得它受到限制,因为据我所知元素通常用于检索元数据,即不是用于过滤的元数据。
  2. 如果您可以将它用于元素,那么该值是否仍应位于 subjectdef 的“keys”属性中?
  3. 如果您想向元数据值添加定义/描述,您会在哪里执行此操作?
  4. 您可以/应该发布 subjectSchemes 吗?我看到它表明它不适合发布,因为它的默认属性仅限于资源。但这不是限制吗?如果您使用它来创建分类法,您肯定还需要一种简单的方法来发布它以造福用户?

小智 5

我将尽力回答您最初的问题。总体而言,subjectScheme 专业化旨在创建主题分类和受控值。它具有强大的功能,可以定义可用于检索的主题分类,以及定义和控制属性值。目前,DITA-OT 仅提供属性受控值领域的功能。

问题:“它可以用来表示元数据元素还是仅表示元数据属性”?

答:我不会说它的目的是“表示元素或属性”。它旨在代表主题和受控值。它的设计基于键,因此大量使用属性。

问题:如果您想添加属性值的定义,在哪里执行此操作?

回答:您有多种选择来执行此操作:

  • 您可以创建描述主题或属性值的关联主题。您可以使用 subjectdef 元素上的 @href 属性来引用该主题。这对于提供有关何时应使用条件处理值的共识定义或信息特别有用。
  • 您可以在 subjectdef 元素中嵌套 topicmeta 元素;在 topicmeta 元素中,您可以访问 Shortdesc 和 navtitle 元素。
  • 您将内容添加到 subjectdef 元素上的 @navtitle 属性。我不推荐这样做,因为 @navtitle 属性已被弃用并且通常无法翻译。

问题:您可以将 subjectScheme 专业化与元数据元素结合使用吗?

答:是的。我突然想到,这是一种基于 HTML 的输出格式的直接可能性和设计:

  • 对于特定主题,将 topicmeta 元素添加到 subjectdef 元素。在 topicmeta 元素中,您可以完全访问所有元数据元素。添加任意数量的元数据元素。
  • 将 DITA 主题与相关主题相关联。这可以通过使用特定属性和值或使用分类域中的 subjectref 元素来完成。
  • 调整输出处理,以便与主题关联的每个 DITA 主题都将元数据写入 HTML,就像元数据元素位于 DITA 主题本身中一样。通过这种设计,您可以强制执行一致性,并且由于基于密钥的架构,易于维护和抽象层。

问:你们可以发布主题方案吗?

答案:是的,如果使用 @href 属性为 subjectdef 元素引用主题。默认情况下,subjectScheme 元素的 @processing-role 属性设置为“resource-only”,@toc 属性设置为“no”,您可以修改这些值,它们将在整个地图中级联,从而使生成输出。当然,这只是目前使用 DITA-OT 可以做的事情;通过自定义处理实现,可能性是无限的。

我认为 subjectScheme 映射和分类域提供了许多令人兴奋的可能性,包括分面和过滤浏览(用于输出)以及分面搜索(用于 DITA 源)。

我希望构建利用 subjectScheme 和分类的实现的人们能够分享故事、演示他们的实现等等。我认为这将使 DITA 架构的这一部分可以做的事情更加清晰,并且更容易为人们所接受。