付録 id195AD0L60Y4
AEM Guidesのトラブルシューティング
AEM Guidesをインストールして設定したら、問題をトラブルシューティングできます。
参照を検証
指定されたスクリプトを実行して、参照を検証できます。 これらのスクリプトは、壊れた参照を特定し、修正または修正するのに役立ちます。
-
/bin/fmdita/validatebtree?operation=validate– 壊れたコンテンツ参照を報告しますが、修正はしません。 -
/bin/fmdita/validatebtree?operation=patch– 壊れたコンテンツ参照とパッチを一覧表示するか、それらを修正します。
スクリプトの検証
次の手順を実行して、製品パッケージで使用可能な検証スクリプトを使用して、参照を確認します。
- 検証スクリプト [
/bin/fmdita/validatebtree?operation=validate]を実行して、新しい壊れた参照がないか確認します。 - 検証スクリプトでエラーが報告された場合は、パッチスクリプトを使用してパッチを適用できます。
- 以下の詳細を記録し、必要に応じてカスタマーサクセス部門と共有します。
-
- スクリプトの検証によって出力されたログ
- 「
/content/fmdita/references」のパッケージ - 報告されたシナリオに応じて、その他の必要な詳細
パッチスクリプト
製品パッケージで使用可能なパッチスクリプトを使用して、破損した参照にパッチを適用するには、次の手順を実行します。
- パッチスクリプト
[/bin/fmdita/validatebtree?operation=patch]を実行して、壊れた参照を修正します。 スクリプトの実行には数分かかり、進行状況に応じてログが出力されます。 実行が完了すると、最後に「Done」が印刷されます。
- パッチスクリプトが正常に実行されると、次のチェックを実行できます。
-
- 新しいノード「
references_backup_<timestamp>"」が/content/fmditaの下に作成されたことを確認します
- 新しいノード「
- 参照が修正されていることを確認します
ロガー
以下に示す詳細に従って、このスクリプト実行に対して個別のロガーを作成することもできます。
- クラス「
adobe.fmdita.common.BTreeReferenceValidator」にロガーを追加 DEBUGに設定
作成されたログファイルには、スクリプト実行に関連するすべての情報が記録されます。これは、ブラウザーからスクリプトをトリガーする際に、ブラウザーセッションのタイムアウトが発生した場合に役立ちます。
変換するInDesign ファイルの準備 id195DBF0045Z
InDesignには、魅力的で複雑なドキュメントを作成するための豊富な機能が用意されています。 多くの場合、これは、ドキュメントのさまざまな部分がページ上に視覚的に配置されますが、それらのテキストフレーム間のフローを提供しようとしません。 テキストフレームの'読み上げ順序'が定義されていない場合、IDML ファイルには、意味のある順序に従わない可能性のあるストーリーが含まれます。 最終的な結果は、段落、表、グラフィックがランダムな順序で並んだ1つ以上のDITA トピックになります。
DITA エディターでDITA コンテンツを適切な順序に変更することは可能ですが、IDML ファイルを作成する前にInDesign ファイルを修正する方がはるかに簡単です。 これは、ソースドキュメントの外観を変更せずに行うことができます。 また、読み上げ順序を適切に定義することで、ソースドキュメントをアクセス可能にするというメリットもあります。
テキスト枠をスレッド化
InDesignでは、1つのフレームを別のフレームにリンクするプロセスに 'スレッド' という用語を使用しています。 テキスト枠のスレッド化について詳しくは、InDesign ドキュメントの テキストのスレッド のトピックを参照してください。
重なり合うフレーム
一部のInDesign ドキュメントでは、レイアウト上の理由から、スレッドなし重なりフレームを使用しています。 このコンテンツをメインスレッドに統合するのは非常に難しいかもしれません。 最良のオプションは、DITA環境で結果を編集することです。
InDesign ストーリー
InDesign ドキュメント内の各スレッド化されたコンテンツのフローは、'ストーリー'と呼ばれます。 最適な結果を得るには、ストーリーの数を制限することをお勧めします。 ただし、DITA出力で必要とされないドキュメントの一部が存在する場合があります。 例えば、ページのフッターが必要になることはほとんどありませんが、慎重に処理しなければ、トピックの中央に表示されることがあります。
文書内で必要のないテキストを除外する最も簡単な方法は、不要なコンテンツにのみ使用される特殊な 段落タグ を文書に与えることです。 例えば、フッターに [基本段落] を再利用する代わりに、専用のフッター タグを作成します。 次に、MapStyle ファイルで、フッター段落を次のようにドロップするように設定するだけです。
<paraRule style="Footer" local="0" refactor="drop">
<attributeRules createID="false"/>
</paraRule>
DITA doctypesへのマッピング
ソースドキュメントには、トピックの先頭をマークできる段落スタイルまたはエレメントが少なくとも1つ含まれていることが重要です。 ドキュメントでは、Heading1をドキュメント内の最上位タイトルの名前として使用するのが一般的です。 その後、そのスタイルから特定のDITA ドックタイプへのマッピングを作成できます。 文書が適切に整理され、見出し1の使用が常に続く場合は、良好な結果が得られます。
複数のDITA doctypes
見出し1の段落の一部を異なるDITA ドックタイプに変換する必要がある場合は、InDesignで段落スタイルを複製します。 これらのスタイルには、Heading1_genTaskや Heading1_troubleshooting など、わかりやすい名前を付けます。 次に、次に示すようにmapStyle ファイルを設定します。
<doctypes>
<doctypeParaRule style="Heading1" local="0" mapToDoctype="concept">
<attributeRules createID="true"/>
</doctypeParaRule>
<doctypeParaRule style="Heading1_genTask" local="0" mapToDoctype=" generalTask">
<attributeRules createID="true"/>
</doctypeParaRule>
<doctypeParaRule style="Heading1_troubleshooting" local="0"mapToDoctype=" troubleshooting">
<attributeRules createID="true"/>
</doctypeParaRule>
</doctypes>
構造化InDesign ドキュメント
InDesignはXMLと緩い関係にあります。 ドキュメントにはXML DTDを含めることができ、メインストーリーはそのDTDに対して有効な場合がありますが、一部のコンテンツはXMLですが、DTDが含まれていないハイブリッド文書を作成することもできます。 これらは、DITAへの変換を成功させるための望ましくないケースです。 文書にXML部分が含まれている場合は、出力をXMLに保存し、結果が許容できるかどうかを確認します。 そうでない場合、DITA コンテンツには無効なコンテンツも含まれるか、完全に失敗する可能性があります。
表の書式設定
InDesignの表書式ルールからDITAの同等の表書式への変換は複雑なプロセスです。 これは、ソースファイルで利用できる豊富な書式設定機能と、DITAで使用されるOasis \(CALS\) テーブルモデルで提供される基本的なオプションが原因です。 垂直方向と水平方向のテキストの整列が提供され、同様の結果が得られますが、両端揃えテキストは常にテキストの向きに合わせて揃えられます。また、InDesignでは左揃えテキストと右揃えテキストを使用できます。
InDesignの列区切り記号と行区切り記号の処理は、Oasis テーブルモデルの基本的なオプションよりもはるかに優れています。 InDesignには、境界線の種類\(実線またはパターン\)、境界線の太さ、境界線の色、境界線の色合い、境界線の間隔の色および境界線の間隔の色合いという4つのセルの境界線が用意されています。 これらはすべて、各セルの右下の境界線にマッピングする必要があります\(entry element\)唯一の選択肢は0または1です – 境界線を非表示にするか、境界線を表示します。
InDesignの境界線は、次のレベルで適用できます。
- 表スタイル
- セルスタイル
- 各セルのローカルの上書き
InDesignからDITAへの変換プロセスでは、次のように境界線の判定が適用されます。
- 縦組みルールの場合、テーブル スタイルは
colspec/@colsep属性にマッピングされます。 水平方向のルールはrow/@rowsep属性にマッピングされます。 どちらの場合も、境界線が定義されていない場合、属性は作成されません。 - セルスタイルは
entry/@colsepおよびentry/@rowsep属性にマッピングされます。 これらの値は、派生した表スタイルの境界線を上書きします。 - ローカルオーバーライドでは、書式をセルに直接適用し、表スタイルとセルスタイルをオーバーライドします。
代替パターン
InDesignの表スタイルを使用すると、列とセルの罫線を交互のパターンに従わせることができます。 この機能は変換でサポートされていますが、1つのパターングループが罫線\(1\)を表示するようにマップされ、他のパターングループマップが罫線\(0\)を非表示にする場合にのみ、結果は明らかになります。
InDesignからDITAへの移行用のマッピングファイルの準備 id194AF0003HT
正しいDITA変換には、ソースドキュメントの内容に一致するマッピングファイルが必要です。 非構造化InDesign文書の場合、使用可能なすべての段落スタイルと文字スタイルをマッピングする必要があります。 XML構造化InDesign ドキュメントの場合、関連するDTD内のすべてのエレメントをマッピングする必要があります。
非構造化InDesign ドキュメントと構造化ドキュメントのマッピングファイルは異なります。 これは、非構造化ソースコンテンツをDITAに変換するための複雑な処理要件が原因です。
マッピングファイルのサンプルを以下に示します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE styleMap SYSTEM "mapStyle.dtd">
<styleMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mapStyle.xsd" >
<doctypes>
<mapDoctypeParaRule root="itpx:stories" mapToDoctype="map">
<attributeRules createID="true">
<addNew name="outputclass" value="map"/>
</attributeRules>
</mapDoctypeParaRule>
<doctypeParaRule style="Heading 1" local="0" mapToDoctype="concept">
<attributeRules createID="true"/>
</doctypeParaRule>
<doctypeParaRule style="Heading A" local="0" mapToDoctype="topic">
<attributeRules createID="true"/>
</doctypeParaRule>
</doctypes>
<wrappingRules>
<wrap elements="li+" context="number" wrapper="ol">
<attributeRules createID="true"/>
</wrap>
<wrap elements="li+" context="bullet" wrapper="ul">
<attributeRules createID="true"/>
</wrap>
</wrappingRules>
<paragraphStyleRules>
<paraRule style="Heading 2" local="0" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="Heading 3" local="0" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="List Paragraph" local="p[-|-|-|-|-|b|-|-]" context="bullet" mapTo="li">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="List Paragraph" local="p[-|-|-|-|-|n|-|-]" context="number" mapTo="li">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="List Paragraph" local="0" context="bullet" mapTo="li">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="Normal" local="0" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="Normal" local="p[-|-|-|-|-|b|-|-]" context="bullet" mapTo="li">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="Title" local="0" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
</paragraphStyleRules>
<characterStyleRules>
<charRule style="Bold" local="0" mapTo="b">
<attributeRules createID="false"/>
</charRule>
<charRule style="Code" local="0" mapTo="codeph">
<attributeRules createID="false"/>
</charRule>
<charRule style="[No character style]" local="c[Bold|-|-|-|-|-|-|-]" mapTo="b">
<attributeRules createID="false"/>
</charRule>
<charRule style="[No character style]" local="c[Italic|-|-|-|-|-|-|-]" mapTo="i">
<attributeRules createID="false"/>
</charRule>
</characterStyleRules>
</styleMap>
マッピングファイルは、すべてのソース段落スタイルと文字スタイルコードをリストするシンプルな構造のXML ファイルです。 ファイルの内容は次のとおりです。
スタイルマッピング
styleMap要素では、マッピングファイルのバージョンを記録するために、2つのオプション属性(@map_dateと@map_version)を指定できます。
ドキュメントタイプ
doctypes要素には、サポートされているDITA マップとトピックマッピングが一覧表示されます。
ドキュメントタイプの段落ルールをマップ
mapDoctypeParaRule要素は必須です。 ソース XMLのルート要素は常にDITA マップのルート map要素にマッピングされるため、この要素の属性を編集することはできません。
ドキュメントタイプの段落ルール
doctypeParaRule要素は必須です。 これにより、コンバージョンプロセスで、新しいトピックの始まりを特定することができます。 通常、@style属性は単独で使用され、@local属性は0に設定されます。 ただし、選択したスタイルに常にローカルの書式設定の上書きがある場合は、各スタイルのルールとローカルの上書きを追加する必要があります。 これは、生成されたマッピングファイルで簡単に認識でき、次のようなことが見つかります。
<paraRule style="Heading 1" local="0" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
<paraRule style="Heading 1" local="p[Italic|-|-|-|-|-|-|-]" mapTo="p">
<attributeRules createID="true"/>
</paraRule>
上記の例では、paraRule = "Heading1"に2つの@style要素があります。 必要に応じて、doctypeParaRule属性が設定された同等の@mapToDoctype要素を作成します。
doctypeParaRuleで使用される属性は次のとおりです。
@style: ソース InDesign ドキュメント内のスタイルの名前。@local: #id194CG0V005Zを参照してください。@mapToDoctype:有効なすべてのdoctypesの列挙リストからのDITA トピックタイプの名前。
要素のラッピングルール
エレメントのラッピングルールは、一連の属性値に従って、入力ドキュメント内のエレメントを定義済みのエレメントにラップまたは移動する方法を定義します。
wrap要素
これはオプションの要素です。 wrap要素には、ラップまたは移動される要素が一覧表示されます。 ラッピングは通常、一連の要素に共通の親要素を与える必要がある場合に使用されます。 例えば、複数のli要素がol要素にラップされています。 さらに、wrapは、図や表のタイトルなどの要素の移動に使用できます。
wrapで使用される属性は次のとおりです。
-
@element:要素名の後にプラス記号を付けると、同じ名前のすべての隣接する要素が、@wrapper属性にという名前の要素で折り返されます。 -
@wrapper: ラッピング要素の名前。 -
@context:特定の要素のラップ方法をさらに絞り込む方法を提供します。 次の例は、順序付きリストliまたは順序なしリストolの一連のul要素を、@context値\(コンテキストはparaRule要素\)に従ってマッピングする方法を示しています。code language-none <wrap elements="li+" context="number" wrapper="ol"> <attributeRules createID="true"/> </wrap> <wrap elements="li+" context="bullet" wrapper="ul"> <attributeRules createID="true"/> </wrap>
次の例は、figとtitle要素からimage要素を作成する方法を示しています。
-
@elements: コンマで区切られ、リストされた要素は、@wrapper属性にという名前の要素でラップされます。 画像の下に図のタイトルを含めるという一般的な方法により、タイトルはtitleの直後のimage要素になります。次のラッピングルール:
code language-none <wrap elements="title, image" context="FigTitle" wrapper="fig"> <attributeRules createID="true"/> </wrap>次の中間XMLを変換します。
code language-none <image href="Links/myImage.png" scale="59"> <title>IDML2DITA workflow</title>次の有効なDITA図形構造に変更します。
code language-none <fig id="id397504"> <title>IDML2DITA workflow</title> <image href="Links/myImage.png" scale="59"> </fig> -
@wrapper: ラッピング要素の名前。 -
@context:特定の要素のラップ方法をさらに絞り込む方法を提供します\(コンテキストはparaRule要素で定義されています\)。
次の例は、titleをtableに移動する方法を示しています。
-
@elements:titleの直前または直後にあるtable要素は、@wrapper属性にという名前の要素でラップされます。 XPath スタイルの述語では、タイトル要素の位置を[before]または[after]として識別できます。例:次のラップ規則:
code language-none <wrap elements="title[before]" context="TableTitle" wrapper="table"> <attributeRules createID="true"/> </wrap>次の中間XMLを変換します。
code language-none <title>IDML2DITA workflow</title> <table id="id289742" outputclass="BasicTable"> <tgroup cols="2"> <colspec colname="0" colwidth="0.7*"> <colspec colname="1" colwidth="0.3*">この有効なDITA図形構造に次の手順を実行します。
code language-none <table id="id289742" outputclass="BasicTable"> <title>IDML2DITA workflow</title> <tgroup cols="2"> <colspec colname="0" colwidth="0.7*"> <colspec colname="1" colwidth="0.3*"> -
@wrapper: ラッピング要素の名前。 -
@context:特定の要素のラップ方法をさらに絞り込む方法を提供します\(コンテキストはparaRule要素で定義されています\)。
段落スタイルルール
paragraphStyleRule要素について次に説明します。
paraRule要素
paraRule要素は必須です。 すべての段落スタイルのマッピングルールを指定します。 InDesign ドキュメントでは、すべてのテキストが段落スタイルのサブ構造内に含まれます。スタイルのない段落も\[No paragraph style\]という名前になります。 正方形の角かっこ、これらは組み込みのInDesign スタイル名を示します。
paraRuleで使用される属性は次のとおりです。
-
@style: ソース InDesign ドキュメント内のスタイルの名前。 -
@local: #id194CG0V005Zを参照してください。 -
@mapTo: DITA ターゲット要素の名前。 -
@context:この属性は、複数のラッパーの選択肢が使用可能な場合に、特定のラップ ルールにリンクするために使用されます。 例:li要素は、ol要素またはul要素のいずれかにラップできます。 異なるリストタイプを識別するには、特定のスタイル名または@local属性を使用して、次を表示できます。local="p[-|-|-|-|-|b|-|-]"フィールド 6の'b'は、箇条書きリスト項目を示します。 この場合、@contextを'bullet'に設定します。local="p[-|-|-|-|-|n|-|-]"フィールド 6の'n'は番号付きリスト項目を示します。 この場合、@contextを'number'に設定します。
-
@commentOut:この属性を使用すると、XML コメント内のターゲット要素の折り返しが可能になり、情報が失われることはなく、ユーザーが手動で処理できるようになります。 これは、ソースコンテンツがDITA構造ルールに強制的に準拠できない場合に便利です。 -
@refactor:このオプション属性には、次の2つの値の選択肢があります。 -
unwrap:一致した要素は、そのコンテンツを保持している間に削除されます。 -
drop:一致した要素とそのすべてのコンテンツが削除されます。
文字スタイルルール
charRule要素について次に説明します。
[No character style]の場合、組み込み文字スタイル local="0"のマッピングは行われません。charRule要素
これはオプションの要素です。
すべての文字スタイルのマッピングルールです。 InDesign ドキュメントでは、すべてのテキストが文字スタイルの子エレメント内に含まれます。
charRuleで使用される属性は次のとおりです。
-
@style: ソース InDesign ドキュメント内のスタイルの名前。 -
@local: #id194CG0V005Zを参照してください。 -
@mapTo: DITA ターゲット要素の名前。 -
@refactor:このオプション属性には、次の2つの値の選択肢があります。-
unwrap:一致した要素は、そのコンテンツを保持している間に削除されます。 -
drop:一致した要素とそのすべてのコンテンツが削除されます。
-
属性ルール
この要素は、次の要素コンテキストの子にすることができます。
mapDoctypeParaRulemapDoctypeElemRuledoctypeParaRuledoctypeElemRuleparaRulecharRuleelementRule
属性ルールの目的は、一致した要素の属性を管理することです。
コンテキストに応じて、次の属性をattributeRules要素で使用できます。
@createID:一致する要素の一意のIDを生成します。 値trueまたはfalseは許可されています。 あらゆるコンテキストで利用可能です。@copyAll:構造化されたソース ファイルに対してのみ、ソース XML コンテンツからすべての属性をコピーします。 指定できる値はtrueまたはfalseです。 コンテキストmapDoctypeParaRule、mapDoctypeElemRule、doctypeElemRule、elementRuleで使用できます。
attributeRulesで使用される属性は次のとおりです。
-
addNew:一致した要素に新しい属性を追加します。 あらゆるコンテキストで利用可能です。 これには2つの属性があります。@name:有効なXML名である必要があります。DITA コンテキストで有効であることが望ましいです。@value: リテラルテキストまたは単純なXPath式を指定できます。
-
copyAtt:必要に応じて、プロセス内で名前を変更しながら、単一の属性をターゲットにコピーします。 値は変更されません。 コンテキストmapDoctypeParaRule、mapDoctypeElemRule、doctypeElemRule、elementRuleで使用できます。 この要素が存在する場合、@copyAllAtts値はfalseと見なされます。 これには2つの属性があります。@name: ソース XML要素に存在する属性の名前である必要があります。@mapTo:有効なXML名である必要があります。DITA コンテキストで有効であることが望ましいです。
ローカルの書式設定コード
どのInDesign ドキュメントでも、段落スタイルと文字スタイルで数百種類の書式設定を上書きすることができます。 これらのプロパティの多くは、コンバージョンのプロセスで役に立ちません。 ただし、ドキュメントのセマンティクスに影響を与え、変換プロセスに影響を与える必要がある書式設定機能のコアセットを特定しました。
@local属性は特殊な区切り形式で表示され、8つのフィールドとプレフィックスが指定され、書式設定の上書きのタイプが表示されます。 書式設定コードフィールドを以下に示します。
- 段落スタイルのローカルオーバーライドのプレフィックス p、文字スタイルのローカルオーバーライドのプレフィックス c。
- フォントスタイルは姓であり、'Bold Condensed Italic'などのプロパティです。
- フォントサイズ (ポイント)。
- 上付き文字または下付き文字の文字位置。
- アンダースコアのアンダー。
- 取り消しで取り消します。
- リストの種類を箇条書きまたは番号付きとして識別するための リストコード は、InDesignでは必ずしも使用されません。
- 箇条書きコードには、文書内のすべての定義済み箇条書きタイプが一覧表示されます。
- 番号コードには、文書内のすべての定義済み番号付けスタイルが一覧表示されます。
この機能を慎重に使用すると、それ以外の場合は、ローカルフォーマットを失うと、スタイル設定されたコンテンツからDITAへの転送の品質が向上する可能性があります。 この例は、箇条書きリストの斜体16 pt テキストを意味するように解決できます:p[Italic|16|-|-|-|b|-|-]。
構造マッピング
構造マッピングファイルは、すべてのソース要素と関連する属性タイプを一覧表示するシンプルな構造のスタイルマッピングファイルと似ています。 使用するマッピングファイルのバージョンを記録するために、@map_dateと@map_versionの2つの属性が提供されます。
ドキュメントタイプ
doctypes要素には、サポートされているDITA マップとトピックマッピングが一覧表示されます。
ドキュメントタイプ要素ルールのマッピング
mapDoctypeElemRule要素は必須です。 ソース XMLのルート要素は常にDITA マップのルート map要素にマッピングされるため、この要素の属性を編集することはできません。
要素のラッピングルール
#id194CG600NY4を参照してください。
elementRules要素
これにはすべての#id194CGC00SHS要素が一覧表示されます。
elementRule要素
elementRule要素は必須です。 これがすべてのソース要素のマッピングルールです。 InDesign ドキュメントには非構造化スタイル要素が含まれていますが、'ハイブリッドモード'処理が有効になっていない限り、構造化コンテンツでは無視されます。
elementRuleで使用される属性は次のとおりです。
-
@elementName: ソース InDesign ドキュメント内のエレメントの名前。 -
@local: #id194CG0V005Zを参照してください。 \(ハイブリッドドキュメントにのみ便利\)。 -
@mapTo: DITA ターゲット要素の名前。 -
@refactor:このオプション属性には、次の2つの値の選択肢があります。-
unwrap:一致した要素は、そのコンテンツを保持している間に削除されます。 -
drop:一致した要素とそのすべてのコンテンツが削除されます。
-
-
@context:この属性は、複数のラッパーの選択肢がある場合に、特定のラッピングルールにリンクするために使用されます。 例:li要素は、ol要素またはul要素のいずれかにラップできます。 -
@commentOut:この属性を使用すると、XML コメント内のターゲット要素の折り返しが可能になり、情報が失われることはなく、ユーザーが手動で処理できるようになります。 これは、ソースコンテンツがDITA構造ルールに強制的に準拠できない場合に便利です。