私はあなたの最初の質問に対処するために最善を尽くします。全体として、subjectSchemeスペシャライゼーションは、サブジェクトの分類と制御された値を作成するように設計されています。これは、検索に使用できるサブジェクト分類を定義したり、属性値を定義および制御したりするための優れた機能を備えています。現在、DITA-OTは、属性の制御値の領域でのみ機能を提供します。
質問:「メタデータ要素またはメタデータ属性のみを表すために使用できますか?」
回答:その目的が「要素または属性を表す」ことであるとは言いません。これは、主題と制御された値を表すように設計されています。その設計はキーに基づいているため、属性を多用します。
質問:属性値の定義を追加する場合、どこで追加しますか?
回答:これを行うには、いくつかのオプションがあります。
- 件名または属性値を説明する関連トピックを作成できます。このトピックは、subjectdef要素の@href属性を使用して参照します。これは、コンセンサス定義または条件付き処理値を使用する必要がある場合に関する情報を提供する場合に特に役立ちます。
- subjectdef要素内にtopicmeta要素をネストできます。topicmeta要素内で、shortdesc要素とnavtitle要素にアクセスできます。
- subjectdef要素の@navtitle属性にコンテンツを追加します。@navtitle属性は非推奨であり、通常は翻訳できないため、これはお勧めしません。
質問:メタデータ要素でsubjectScheme特殊化を使用できますか?
回答:はい。頭から離れて、HTMLベースの出力形式の1つの直接的な可能性と設計を次に示します。
- 特定のサブジェクトについて、topicmeta要素をsubjectdef要素に追加します。topicmeta要素内では、すべてのメタデータ要素に完全にアクセスできます。必要な数のメタデータ要素を追加します。
- DITAトピックを関連する主題に関連付けます。これは、特定の属性と値を使用するか、分類ドメインのsubjectref要素を使用して実行できます。
- メタデータ要素がDITAトピック自体にある場合と同じように、サブジェクトに関連付けられた各DITAトピックがHTMLに書き込まれるメタデータを持つように出力処理を微調整します。この設計により、一貫性が確保され、キーベースのアーキテクチャにより、メンテナンスが容易になり、抽象化レイヤーが実現します。
質問:サブジェクトスキームを公開できますか?
回答:はい、@href属性を使用してsubjectdef要素のトピックが参照されている場合。デフォルトでは、subjectScheme要素の@processing-role属性は「resource-only」に設定され、@ toc属性は「no」に設定されていますが、これらの値を変更すると、マップ全体にカスケードされ、それが可能になります。出力を生成します。もちろん、これは単にDITA-OTを使用して現在実行できることです。カスタム処理の実装では、可能性は無限大です。
subjectSchemeマップと分類ドメインは、ファセットおよびフィルターされたブラウジング(出力用)やファセット検索(DITAソース用)など、多くのエキサイティングな可能性を提供すると思います。
subjectSchemeと分類を利用する実装を構築する人々が、ストーリーを共有したり、実装のデモを行ったりすることを願っています。そうすることで、DITAアーキテクチャのこの部分でできることがより明確になり、人々にとってよりアクセスしやすくなると思います。