情報アヌキテクチャずDITAテクノロゞヌ。 Yandexでの講矩に基づく

Darwin Information Typing ArchitectureDITA-技術文曞に関連するプロセスを自動化するXMLテクノロゞヌ。 DITAは長幎にわたり、倚数の倚様な機胜、コンテンツを敎理するためのアプロヌチ、およびそれらの実装のための特定のメカニズムを蓄積しおきたした。 それらに戞惑うこずは䞍思議ではなく、これはしばしばドキュメント自動化のための理解できない、効果がなく、単に䞍䟿な゜リュヌションの出珟に぀ながりたす。 䌚瀟「哲孊者」ミハむル・オストロゎルスキヌのプロゞェクトディレクタヌは、すべおを棚に眮きたす。





たえがき



提案された蚘事は、 Hyperbatonsの 1぀に぀いお著者が䜜成した短いレポヌトに基づいおいたす。 話者ずしおの自分に䞍満を感じるずいうわけではありたせんが、この堎合、口語の逐語的な転写を公開するこずは私の考えでは良い考えではありたせん。



たず、技術的なトピックに関するテキストには特定のデザむンが必芁です。 リスト、衚、図、コヌドフラグメントが必芁です。 しかし、私はテヌブルで話す方法を知りたせん、そしお、リストはスラむドにうたく合いたせん。 第二に、2か月でレポヌトの内容をよく説明する䟋を準備するこずができたしたが、今は䜿甚しないのは奇劙です。 したがっお、この蚘事は、口頭報告ぞの重芁か぀かなり膚倧な远加ずしおみなされ、倉換された転写ずしおではないこずをお願いしたす。



結論ずしお、私はYandexの同僚に、口頭だけでなく曞面でもこのような幅広い聎衆に連絡する機䌚を䞎えおくれたこずに心から感謝しおいたす。 これらの資料が関心のある専門家や技術管理者に圹立぀こずを願っおいたす。



ツヌルずタスク。 いいえ、その逆



DITAテクノロゞヌの䜜成者は、機胜の広範なレパヌトリヌを提䟛しおいたす。 技術的には、これらの機胜は、DITAマヌクアップ蚀語ずDITA Open Toolkit゜フトりェアパッケヌゞで実装されたす。DITAOpen Toolkit゜フトりェアパッケヌゞは、入力玠材を  コンテンツを呌び出し続けたす 1぀たたは別の人間が読める圢匏に倉換するように蚭蚈されおいたす。 さらに、これらの機胜は、サヌドパヌティの゜フトりェア補品によっおより良くも悪くもサポヌトされたす。 このようなサポヌトは、XML゚ディタヌおよびコンテンツ管理システムで特に必芁ずされるため、今日では、このクラスのあらゆる開発゜フトりェア補品に含たれおいたす。



機胜の豊富さは、あらゆる技術の明らかな利点であるず思われたす。 しかし、圌ず二人きりになった私たちは、高䟡なレストランでのディナヌパヌティヌに最初に招埅された人の立堎にいるこずに気付きたす。 なじみのない料理、倚くの異なる同時にフォヌクずナむフ。 明確ではないものは䜕ですか。







レストランずいえば。 それらのテヌブルは通垞、料理の順番に埓っお提䟛されたす。 最初に提䟛されたのは、倖郚のデバむスのペア、次のデバむス-それに囲たれたデバむスなどです。プレヌトの埌ろに眮かれたデバむスをどう凊理するかは明確ではありたせん。 したがっお、重芁な技術を習埗するには、ツヌルからではなく、タスクから始める方が良いでしょう。 最初に「ランチ」メニュヌを調べお、それぞれの「料理」が䜕であるかを把握し、次に、適切なフォヌクから適切な方法で取り組む方法を孊びたす。



情報アヌキテクチャの抂念



DITAテクノロゞヌは、゜ヌス玠材の耇数のブロックから出力ドキュメントを組み立おるように蚭蚈された倚くの機胜を備えおいたす。 ただし、これらのブロックが正垞に遞択され、正しく接続されおいる堎合にのみメリットがありたす。



各ドキュメンテヌションプロゞェクトの独自性にもかかわらず、著者がその管理䞭に解決するこずを䜙儀なくされる構造的な問題は、䞀般的によく知られおいたす。 埌者により、材料を分解できるため、これらの問題の解決策は自動化に圹立ちたす。



情報アヌキテクチャずは、特定のプロゞェクトたたは補品甚に遞択された材料分解の方法を指したす。 もちろん、この分解は、該圓するテクノロゞヌによっお提䟛されるアセンブリ機胜に基づいお実行する必芁がありたす。 ここではDITAテクノロゞヌに焊点を圓おたすが、他のテクノロゞヌに぀いおはこの原則は倉わりたせん。



マテリアルプレれンテヌションの統合



情報アヌキテクチャによっお解決策を提䟛する必芁がある構造䞊の問題の重芁な郚分は、異なる文曞たたは同じ文曞内の同じテキストの繰り返しに関連しおいたす。 このような繰り返しは、文化的䌝統ず人間の知芚の特性によるものであるため、それらを攟棄するこずはできたせん。



繰り返しのためにマニュアルを手動で準備する堎合、高額を支払う必芁がありたす。





䞀意でないテキストに倉曎を加えるず、資料党䜓の完党なチェックず各繰り返しの同様の改蚂に぀ながるずいう事実により、゚ラヌが発生したす。 十分な量の材料では、この操䜜を必芁な粟床で実行するこずはほずんど䞍可胜です。



さらに、ドキュメントが䜜成者のグルヌプによっお䜜成された堎合、各䜜成者は自分のデバむスに任せお、資料を提瀺する独自の方法を実践したす。 このため、プレれンテヌション党䜓が統䞀されおいるこずがわかりたすが、これも間違いず芋なす必芁がありたす。 情報がそれぞれの堎合に正しく䌝えられたずしおも、矛盟構造的、文䜓的、甚語的は読者を混乱させ、間違った行動に远いやるこずがありたす。



したがっお、情報アヌキテクチャの察象ずなる䞻なタスクの1぀は、 出力ドキュメントに必芁な繰り返しを提䟛するこずですが、著者が䜜業する資料でそれらを削陀するこずです。



トピック、リンクを含むドキュメントマップ



䞊蚘で定匏化された原理を簡単な䟋で瀺したす衚1。 同時に、情報アヌキテクチャの基本芁玠であるトピック 、 ドキュメントマップ、 リンクの 远加 に぀いお も孊習したす 。 DITAテクノロゞヌだけでなく、最新のドキュメント自動化テクノロゞヌにも固有のものです。



è¡š1.情報アヌキテクチャヌを構築する簡単な䟋

繰り返し文字 繰り返しによる害 建築゜リュヌション 反動
異なるドキュメントに同じセクションが含たれおいる堎合がありたす。 セクションが倉曎された堎合は、必芁な情報が倱われる危険性があるため、どこでも倉曎する必芁がありたす。 キットに含たれる各ドキュメントは、目次で結合された小さなセクションで構成されおいたす 著者はセクションを䞀床修正し、倉曎はすべおの文曞に反映されたした。

-時間を節玄したした。

-陀倖された゚ラヌ
異なるセクションには、同じテキストフラグメントが含たれる堎合がありたす。たずえば、兞型的なセキュリティフレヌム フラグメントが倉曎された堎合は、必芁なものが欠萜するリスクを䌎うすべおの堎所で倉曎を行う必芁がありたす 兞型的な各フラグメントを個別のファむルに取り出したす。 セクションでは、包括的なリンクのみを残しおいたす 著者はフラグメントを䞀床修正し、倉曎はすべおの文曞に反映されたした。

-時間を節玄したした。

-陀倖された゚ラヌ


図 図1は、セクションの再利甚を瀺しおいたす。 再利甚ずいう甚語は英語の文献でよく䜿甚されたすが、ロシア語を「再利甚」ずいう蚀葉で豊かにしたくありたせん。



繰り返し䜿甚されるセクションは、䞀般にトピックず呌ばれたす 。 トピックをドキュメントに結合するために䜿甚されるツリヌ構造実際には空の目次 は、このドキュメントのマップず呌ばれたす。



図1.トピックの再利甚







トピックのボリュヌムはできるだけ小さくする必芁がありたす。



トピックは、明確な境界を持぀1぀のトピックに関連する必芁がありたす。 たずえば、トピックは抂念の意味を明らかにしたり、手順を説明したり、1組の参照デヌタを含めたりするこずができたす。



トピックのコンテンツずスタむルは、他のトピックからの盞察的な分離を確保するようなものでなければなりたせん。 トピックは、癟科事兞の蚘事や質問に察する適切な回答のように、それ自䜓で可胜な限り明確でなければなりたせん。 それ以倖の堎合、䜜成者は、新しいコンテキストに含たれるたびにこのトピックを手動で修正する必芁がありたす。



図 図2は、より深いレベルの情報アヌキテクチャを瀺しおいたす。 このレベルでは、分解はもはやドキュメントではなくトピックです。



図2.再利甚可胜なサむドバヌ







著䜜暩の区分



情報アヌキテクチャは、次の条件が満たされおいる堎合にのみ圹立ちたす。



ナビキタス 。 アヌキテクチャに぀いおの決定を厳密に遵守し、ケヌスごずにではなく、䜓系的にそれらに埓う必芁がありたす。 トピックを䜿甚する堎合、すべおの資料をそれらに分割する必芁がありたす。 暙準フレヌムがある堎合は、それらすべおをトピックから取り出しお、いく぀かのラむブラリなどに収集する必芁がありたす。



集合性 。 原則ずしお、倚数のドキュメントが倚数の䜜成者によっお䜜成されたす。 情報アヌキテクチャは、チヌム内で効果的な分業を実珟する機䌚を提䟛したす。 䟋



-技術的なセキュリティの専門家たたは匁護士は、サむドバヌラむブラリをコンパむルできたす。そのテキストは慎重に怜蚌されたす。

-ホテルの個人的な問題に粟通しおいる著者は、圌ら専甚のトピックを曞くこずができたす。

-タスク党䜓を芋る線集者は、ドキュメントをマップし、ドキュメントのセット党䜓のリリヌスを保蚌できたす。



゚ンドツヌ゚ンドの䟋



これらの技術の䜿甚を可胜にするDITA技術の機胜ず同様に、情報アヌキテクチャを構築するための技術のさらなる怜蚎は、1぀の暪断的な䟋に基づいおいたす。



䟋のプロットは次のずおりです。 電気自動車の技術文曞のリリヌスを手配する必芁があるず想像しおください。 珟圚、電気自動車には2぀のモデルがありたすが、その数はさらに増える可胜性がありたす。
すべおの名前は架空のものであり、すべおの䞀臎はランダムです
この䟋の各郚分の説明は、次の原則に埓っお行われたす。

-出力ドキュメントの芁件。

-実装の芁件;

-建築゜リュヌション。

-DITAによる実装。



throughサンプルの゜ヌスコヌドの完党なセットは、私のブログで入手できたす。



トピックからの出力ドキュメントのレむアりト



出力芁件



各モデルの䞀連の技術文曞には、次の文曞が含たれおいたす。

-操䜜マニュアル;

-広告冊子。



取扱説明曞には、モデル党䜓が蚘茉されおいたす。 広告冊子には、それに関する䞀般的な情報のみが含たれおいたす。



図3.操䜜マニュアルコンテンツず広告ブックレット







実装芁件



プロゞェクト出力ドキュメントではなく、゜ヌスマテリアル内での同じテキストの繰り返しを最小限に抑える必芁がありたす。



建築゜リュヌション



DITAテクノロゞヌの゜リュヌション暙準がここに適甚されたす。 すでに䞊で説明されおいたす。 それにもかかわらず、私たちは再びそれに぀いお話し、いく぀かの重芁な詳现を远加したす。



すべおの資料は䞀連のトピックずしお提瀺されたす。 トピックを保存するには、ファむルシステムのフォルダヌ構造を䜿甚したす。



各出力ドキュメントには独自のマップがありたす。 文曞マップには、その構造 、぀たり、ネストを考慮したすべおのセクションのシヌケンスが含たれおいたす。 トピックをドキュメント構造のセクションにバむンドするには、包括的リンクを䜿甚したす。 包含リンクは、ドキュメントマップで定矩する必芁がありたす。これは、ドキュメント構造のセクションにマップされるトピックを指したす逆の堎合も同様です。



同じカヌドを䜿甚しお異なる出力ドキュメントを生成する技術的胜力たずえば、プロファむリングを䜿甚、以䞋を参照にもかかわらず、これは掚奚されたせん。 たずえば、モデルの数が増えおプロゞェクトが倧きくなるず、そのようなアプロヌチでは、理解できない非垞に耇雑な構造になる可胜性がありたす。 1぀のカヌド-1぀の出力ずいう単玔なルヌルに埓うようにしおください。 ここでは、以䞋に瀺すように、コストがかかりたす。



提案された゜リュヌションは、芋た目も䞀般的です。 プロゞェクト資料のさらなる分解䞭に、重芁な決定が衚瀺されたす。



DITAの実装



ドキュメントカヌドの䟋この堎合はサラゎサモデルの広告ブックレットを以䞋に瀺したす。



<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"> <map id="modSaragosaDatasheet" xml:lang="ru"> <title> «<keyword keyref="prodName"/> <keyword keyref="modName"/>»</title> <!--      --> <mapref href="Common/prodkeys.ditamap"/> <mapref href="Saragosa/modkeys.ditamap"/> <!--     --> <topicref href="Common/topics/overview.dita"/> <topicref href="Common/topics/generalView.dita"/> <topicref href="Common/topics/techParams.dita"/> </map>
      
      





リモヌトマップずキヌリンクの䜿甚に぀いおは、蚘事の以䞋のセクションで説明したす。



出力ドキュメントを生成するために、DITA Open Toolkitパッケヌゞは、その構成に含たれるDITA2PDF2プラグむンず組み合わせお䜿甚​​されたす。DITA2PDF2プラグむンは、PDF圢匏の出力ドキュメントを生成したす。



広告ブックレットは非暙準のデザむンであるため、いわゆるカスタマむズが甚意されおいたす。 これは、DITA2PDF2プラグむンの暙準動䜜を倉曎するXSLTスタむルのコレクションです。 このカスタマむズは、暪断的な䟋の䞀郚です。



サンプルテキストをラむブラリに入れる



出力芁件



想像䞊のタスクの条件に応じお、電気自動車を䜿甚するための特定のシナリオを説明する各手順は、必ずしも最初からではなく兞型的なボックスから開始する必芁がありたす。 このボックスには、ドラむバヌの安党性に関する泚蚘ず、安党性セクションぞのリンクが含たれおいたす図4。



電気自動車の保守に関する特定のシナリオを説明する各手順は、兞型的なタむむンでも開始する必芁がありたすが、わずかに異なりたす。 プロゞェクトの埌半では、他の兞型的な提携が必芁になる堎合がありたす。



図4.兞型的なフレヌムの䜿甚







実装芁件



すべおのドキュメンテヌションキットは、暙準フレヌムのテキストの倉曎に察しお耐性がなければなりたせん。 暙準ボックスのテキストに倉曎が加えられた堎合たずえば、文孊的な改蚂が行われたり、新しい芏制および技術文曞の芁件が考慮されたりする堎合、それらはすべおの操䜜マニュアルに等しく反映される必芁がありたす。



建築゜リュヌション



サンプルテキストラむブラリを䜜成したす。 DITA圢匏の単䞀ファむルになりたす。 このファむルには、兞型的なテキストのすべおの断片が保存されたす。 兞型的なテキストのラむブラリの維持を著者の1人に任せたす。著者は、技術的安党性に関する芏制の枠組みに特に粟通しおいたす。



DITAの実装



サンプルテキストラむブラリのフレヌムビュヌの䟋を以䞋に瀺したす。 兞型的なフレヌムを識別するために、@ id属性が䜿甚されたす。 その倀は、少なくずもラむブラリファむル内で䞀意である必芁がありたす。



 <note id="noteSafety" type="important"> <p> —       .       «».</p> </note> <note id="noteSafetyMnt" type="important"> <p> —      .       «».</p> </note>
      
      





トピックから兞型的なフレヌムぞのリンクを含める䟋を以䞋に瀺したす。 @conref属性は、兞型的なフレヌムを瀺すために䜿甚されたす。



 <note conref="../../Common/topics/_snippets.dita#commonText/noteSafety"/>
      
      





テキストのパラメヌタヌ化



出力芁件



トピックのテキストでは、たずえば䌚瀟名、補品ラむンの名前、特定のモデルの名前など、比范的短い文字列倀を芋぀けるこずができたす図5。 ゜フトりェアのドキュメントでは、このような倀は倚くの堎合、゜フトりェア補品のバヌゞョン番号、ハヌドりェアプラットフォヌムの名前、オペレヌティングシステムのバヌゞョン、顧客の名前などになりたす。



図5.テキストのパラメヌタヌ化ずコンテキストぞの適応







そのような行がすべおのドキュメントで同じテキストに衚瀺される堎合、䜕らかの方法でそれらを削陀し、すべおの出力ドキュメントに共通のトピックを䜜成する誘惑がありたす。 たずえば、補品の名前の代わりに、䌚瀟の盎接名、単語developerたたはcompanyなどの代わりに、 補品の呚蟺機噚名を䜿甚できたす。



アむデアは良いですが、垞に機胜するずは限りたせん。



たず、マヌケティング䞊の考慮事項が圹割を果たしたすが、ドキュメント内のどこかで、元の名前を少なくずも䞀床明瀺的に指定する必芁がありたす。



第二に、短い行は必ずしも名前ではありたせん。 読者がドキュメントの他の郚分を探すのではなく、ここで参照するこずを奜むいく぀かの重芁なパラメヌタ、技術的制限、ネットワヌクアドレス、ポヌト番号たたはその他のデヌタの倀を指定できたす。



したがっお、文字列倀を完党に取り陀くこずは䞍可胜です。 2぀のテキストが1ダヌスたたは2文字だけ異なるずいう理由だけで2぀のテキストを異なるものずみなし、それらを別々のトピックに配眮するのは残念です。



実装芁件



トピック党䜓のテキストがすべおのモデルで同じ堎合、プロゞェクトにはこのトピックの単䞀のコピヌが必芁です。 出力ドキュメントを生成する際に、時々、たたはモデルごずに倉化する可胜性のある倀は、そのようなトピックに自動的に組み蟌たれるべきです。



建築゜リュヌション



すべおのモデルで同じ倀ですが、時々倉わる可胜性のある倀䌚瀟、補品ラむン党䜓には、 名前が割り圓おられ、 共通のリモヌトカヌドに蚭定されたす 。 共通の拡匵カヌドは、プロゞェクト党䜓の単䞀のコピヌに存圚したす。 プロゞェクトの各ドキュメントのカヌドに䞀般的なポヌタブルカヌドを含めたす。



モデルごずに異なる倀モデルの名前などには名前が割り圓おられ、モデルの倖郚マップに蚭定されたす。 倖郚モデルマップは、各モデルの単䞀のコピヌに存圚したす。 モデルのポヌタブルマップを、このモデルに関連する各ドキュメントのマップに含めたす。



DITAテクノロゞヌでは、名前付きの倀はキヌず呌ばれたす 。



トピックのテキストでは、倀自䜓ではなく、キヌ名ぞの参照を䜿甚したす。 出力ドキュメントを生成するずき、キヌ名ぞの各リンクは、リモヌトカヌドで指定されたこのキヌの珟圚の倀に自動的に眮き換えられたす図6。



図6.キヌずリモヌトマップを䜿甚したトピックのテキストのパラメヌタヌ化







DITAの実装



リモヌトモデルマップのキヌ定矩の䟋を以䞋に瀺したす。 䞀般的なリモヌトカヌドは、同じ構文を䜿甚しおキヌを決定したす。



 <keydef keys="modName"> <topicmeta> <keywords> <!--   --> <keyword></keyword> </keywords> </topicmeta> </keydef>
      
      





ドキュメントカヌドから倖郚カヌドぞのリンクを含める䟋を以䞋に瀺したす。



 <!--       --> <mapref href="Common/prodkeys.ditamap"/> <!--       --> <mapref href="Saragosa/modkeys.ditamap"/>
      
      





トピックのテキスト内のキヌ名ぞのリンクの䟋を以䞋に瀺したす。 出力ドキュメントを生成するずき、補品ラむンの名前ずモデルの名前がテキストに挿入されたす。 キヌ名ぞのリンクは、キヌワヌド芁玠によっお衚されたす。 キヌ名は@keyref属性で指定されたす。



 <p props="manual">   «<keyword keyref="prodName"/> <keyword keyref="modName"/>»   .</p>
      
      





䞀般的なテキストをコンテキストに適合させる



出力芁件



トピックのテキストには、文字列倀だけでなく、より耇雑な構造も衚瀺できたす。 したがっお、図 5文字列倀に加えお、別の図ず衚が瀺されおいたす。 電気自動車の特定のモデルに関連しおいたすが、すべおのモデルに共通するトピックに組み蟌たれおいたす。



実装芁件



トピックのテキストが䞀般的にすべおのモデルで同じである堎合、それは䞀般的なものでなければなりたせん。 蚀い換えれば、このトピックのコピヌがプロゞェクト内に1぀存圚し、必芁に応じおすべおのドキュメントのマップにそのトピックぞの包括的なリンクが含たれおいる必芁がありたす。



出力ドキュメントを生成する際に、時々、たたはモデルごずに倉化する可胜性のあるフラグメントは、共通のトピックに自動的に組み蟌たれるべきです。



建築゜リュヌション



キヌずパラメヌタヌ化の助けを借りおこの問題を解決するこずは䞍可胜です。なぜなら、図ず衚は文字列倀に瞮小されないからです。 それらを提瀺するには、完党なXMLマヌクアップが必芁です。 このようなフラグメントの䞀般的なテキストぞの挿入は、 間接的な包括的リンクを䜿甚しお行われたす。



䞀般的なトピックに組み蟌たれおいるXMLマヌクアップのフラグメントは、ワむルドカヌドず呌ばれたす。

特定のモデルに関連するすべおのワむルドカヌドフラグメントを1぀のファむルに収集したす。 兞型的なテキストラむブラリずの類掚により、このファむルをモデルラむブラリず呌びたす。 はい、これは兞型的なテキストのラむブラリであり、プロゞェクト党䜓ではなく特定のモデルにのみ関連しおいたす。



モデルラむブラリを瀺すために、リモヌトモデルマップに特別なキヌを定矩したす。 このキヌの倀は、モデルラむブラリぞのパスになりたす。



䞀般的なトピックから、モデルラむブラリ内のこのキヌの名前ずこのワむルドカヌドフラグメントの䞀意の識別子から、目的のワむルドカヌドフラグメントぞの包含リンクを圢成したす図7。



図7.䞀般的なトピックからワむルドカヌドフラグメントぞの間接的な包含リンク







DITAの実装



以䞋は、このモデルのラむブラリファむルを指すモデルのリモヌトマップでキヌが指定される方法の䟋です。 href属性は、ワむルドカヌドフラグメントが配眮されおいるファむルを瀺すために䜿甚されたす。



 <keydef keys="modInfo" href="topics/modinfo.dita"/>
      
      





トピックテキストからワむルドカヌドフラグメントぞの間接リンクの䟋を以䞋に瀺したす。 画像芁玠党䜓は、リンクを含む間接的なものです。 出力ドキュメントを生成するずき、この間接的な包含リンクが指すワむルドカヌドフラグメントに完党に眮き換えられたす。 @conkeyref属性は、ワむルドカヌドフラグメントを瀺すために䜿甚されたす。 その倀は、キヌ名modInfoの䟋ず、目的のワむルドカヌドフラグメントの@ id属性倀imgGeneralViewの䟋で構成されたす。 @conkeyref属性倀の2぀の郚分は、スラッシュで入力されたす。



 <fig> <image conkeyref="modInfo/imgGeneralView"/> </fig>
      
      





テキストフィルタリング



出力芁件



ここで、トピックにテキストを远加するのではなく、捚おるこずを孊びたす。



トピックには必芁なすべおの情報が含たれおいるこずがありたすが、特定の出力ドキュメントごずに冗長であるこずがわかりたした。 「技術仕様」のトピックプロゞェクトレベルでの䞀般的なトピックですでは、次の挿入図が技術仕様の衚に続きたす。



-ブランドのサヌビスセンタヌでのみ電気自動車を敎備する必芁があるこずの衚瀺それ以倖の堎合、䌚瀟は宣蚀されたパラメヌタヌを保蚌したせん。

-そのような優れた電気機械を開発した゚ンゞニアぞの広告賞賛。



最初のボックスは取扱説明曞では適切ですが、広告ブックレットでは䞍利に芋えたす。 反察に、2番目のボックスは広告ブックレットでのみ必芁であり、取扱説明曞ではもう必芁ありたせん。 これらの各フレヌムは、必芁な出力ドキュメントでのみ衚瀺する必芁がありたす図8。



図8.出力ドキュメントのゞャンルによるテキスト







同様に、䞀般的なトピックには、特定のモデルにのみ関連するテキストの断片が含たれる堎合がありたす図9。



図9.補品モデルによっお駆動されるテキスト







他の䟝存関係、たずえば、䞀郚の機密情報をサヌビスサポヌトセンタヌのマニュアルの拡匵バヌゞョンに含める必芁があるこずは容易に想像できたすが、゚ンドナヌザヌに䌝えるこずは実甚的ではありたせん。



実装芁件



特定のコンテキストで冗長になる可胜性のあるフラグメントがトピックにあたり倚く含たれおおらず、そのような各コンテキストが出力ドキュメントの少数の正匏な機胜で蚘述できる堎合、このトピックのテキストにフィルタヌを適甚する必芁がありたす。 このようなフラグメントのみが互いに異なる耇数のトピックを䜜成するこずは蚱可されおいたせん。



建築゜リュヌション



特定の条件が満たされおいるか満たされおいないずきにフラグメントを出力ドキュメントに含めるか、出力ドキュメントから陀倖する必芁がある堎合、それを条件付きず呌びたす 。 各条件付きフラグメントには、ドキュメントに含める条件たたはドキュメントから陀倖する条件を反映したラベルが提䟛されたす。



出力ドキュメントを䜜成するずき、どの条件が満たされおいるかを正確に瀺したす。 䞍適切な条件付きスニペットは、出力から自動的に陀倖されたす。



DITAの実装



条件付きフラグメントを凊理するために、DITAテクノロゞヌは高床なプロファむリングメカニズムを提䟛したす。 これにより、耇数の属性に応じお耇数の異なる方法で条件付きフラグメントのフィルタリングを同時に敎理できたす。



DITA仕様は、独自のセマンティックな意味を持たないいく぀かの属性を提䟛したす。䜜成者はプロファむリングに自由に䜿甚でき、特定のプロゞェクトで意味のある方法で倀を解釈したす。



プロファむリング䞭に条件付きフラグメントを遞択するためのルヌルは非垞に柔軟です。 堎合によっおは、出力ドキュメントにニュヌトラルフラグメントず明らかに適切な条件付きフラグメントのみを残す方が䟿利です。 それ以倖の堎合、明瀺的に䞍適切な条件付きフラグメントを出力から陀倖する方が簡単です。



䞀般に、このプロファむリングの䞻なこずは混乱しないこずです。 小さいすでに倧きすぎる蚘事でメカニズム党䜓を説明する力がないため、出力ドキュメントに䞭立で明らかに適切なフラグメントを含める䟋を瀺したす。



プロファむリングに関しおトピックの゜ヌステキストをマヌクアップする䟋を以䞋に瀺したす。 @ props属性は、ドキュメントのゞャンルを瀺すために䜿甚されたす。 この属性の有効な倀は、DITA仕様では指定されおいたせん。 これらは情報アヌキテクチャの開発䞭に遞択され、このプロゞェクトのレベルで採甚された契玄の䞀郚です。



 <note type="important" props="manual"> <p>               . </p> </note> <sectiondiv props="datasheet"> <p>  ,   ,      .</p> </sectiondiv>
      
      





プロファむリングを実行するには、出力ドキュメントを生成する際に、DITA Open Toolkitパッケヌゞのアセンブリスクリプトを、特にDITAVALファむルず呌ばれるものに転送する必芁がありたす。 プロファむリング属性の特定の倀を持぀条件付きフラグメントを出力ドキュメントに含める、たたは出力ドキュメントから陀倖する手順を含める必芁がありたす。 このようなファむルの䟋を以䞋に瀺したす。



 <?xml version="1.0" encoding="UTF-8"?> <val> <!--     "" --> <prop att="product" val="" action="include"/> <prop att="props" val="manual" action="include"/> <!--   – ! --> <prop att="product" val="" action="exclude"/> <prop att="props" val="datasheet" action="exclude"/> </val>
      
      





トピックの入力ず暙準化



出力芁件



技術文曞の状態を蚘述する䞻な方法論的および文䜓的原則の1぀これも同様に説明する必芁がありたす。 たずえば、ナヌザヌが実行する手順を説明する堎合、垞に同じ蚈画に埓っおこれを行う必芁がありたす。



ナヌザヌプロシヌゞャを蚘述するための䞖界で最も正しい蚈画がどこかにあるずいうこずではありたせん。 もちろん、そうではなく、実際にはナヌザヌプロシヌゞャはさたざたな方法で蚘述できたす。 ただし、1぀のプロゞェクトのフレヌムワヌク内で、すべおの䜜成者に共通のナヌザヌプロシヌゞャを蚘述する蚈画を確立し、すべおの手順を遵守する必芁がありたす。 そうしないず、意芋の盞違が始たり、ドキュメントの䜿甚が非垞に耇雑になりたす。これは、読者が芳察する違いが重芁であるかランダムであるかを垞に疑問に思わせるためです。



実装芁件



プロゞェクトに参加しおいる異なる著者たたはプロゞェクトに長時間参加しおいる1人の著者は、同じ珟象たたはアクションを統䞀的に蚘述する必芁がありたす。



建築゜リュヌション



トピックをいく぀かの情報タむプに配垃するこずにより分類したす。 䞀般的な堎合の情報タむプのセットは、特定のプロゞェクトの機胜によっお決たりたす。 トピックを3぀の基本的な情報タむプに分けお分類するこずを開始する匷力なそしおDITAにenられおいる䌝統がありたす 



-理論的;

-手続き;

-参照。



さらに分類するには、3぀の基本的な情報タむプたずえば、ナヌザヌ手順ずむンストヌル手順を区別したすをさらに専門化し、根本的に新しい情報を䜜成したす。



各情報タむプに぀いお、 兞型的な構造を開発したす。 次の機胜は、この情報タむプに属するトピックに固有の兞型的な構造によっお決定される堎合がありたす。



-トピックの内郚構造を圢成する芋出しのセット。

-芋出しの順序ず入れ子。

-いく぀かの芋出しの必須入力。

-それらのために蚭定された兞型的なテキストのいく぀かのセクションに必須の存圚。



新しいトピックを䜜成する堎合、䜜成者はたず、このプロゞェクトで䜿甚可胜なリストから情報タむプを遞択する必芁がありたす。 トピックを䜜成した埌、䜜成者は「クリヌンシヌト」ではなく、比范的厳栌なテンプレヌトを受け取りたす。これは、トピックを曞くずきに埓う必芁がありたす。



DITAの実装



圌らはしばしば暙準ずトレヌニングの助けを借りおスタむルの統䞀の問題を解決しようずしたす。 郚分的に圌らは助けたす。 しかし、DITA技術は、他の倚くの技術ずは異なり、技術的に䜜成者に統䞀性を匷制するこずができたす。 このために、次のオプションが提䟛されおいたす。



-DITAの基本情報タむプの䜿甚 トピック、抂念、タスク、参照、トラブルシュヌティング 。 各情報タむプは、DTDずスキヌマを䜿甚しお蚘述されたす。 䜜成者が倚かれ少なかれ最新のXML゚ディタヌでトピックのテキストを入力するず通垞は発生したす、埌者は、このトピックの䜜成時に遞択された情報タむプによっお提䟛される構造を圌に課したす。

-基本的な情報タむプの専門化、すなわち 組み蟌みのものに基づいお独自のDTDたたはトピックスキヌムを䜜成したす。



特殊な情報タむプを䜿甚するには、XML゚ディタヌずDITA Open Toolkitの远加構成が必芁になる堎合がありたす。



怜蚎䞭の暪断的な䟋では、特殊化は䜿甚せず、暙準化を䜿甚しおいたす。 «» . , , , .



. ( XML- ), .



 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> <task id="concept_hy5_32sn_qcb" xml:lang="ru"> <title> </title> <taskbody> <prereq> <!--     --> <note conref="../../Common/topics/_snippets.dita#commonText/noteSafety"/> </prereq> <context> <!--  ,     --> <p><b>    :</b></p> </context> <steps> <step> <cmd></cmd> </step> </steps> </taskbody> </task>
      
      







-?

!




, , . , , .



XSLT ( XSLT-) ( runtime-).



, , DITA, . — .



— .



, - . , . ( , , ..) . . , . , - !



, « » , « » , , . , .



( ) , , . , - , .



. . « ». .



-. , , , - .



, DITA — .



おわりに



, . , , . , , .



, , , . DITA ( ) , , « ». - , «» , , , . , .



All Articles