リッチテキスト スタイルシート が作成された後の スタイルのルールとマッピングはリッチテキスト スタイルシート ダイアログのセクション内で定義されています。 これらのルールとマッピングはページソースの XML 内のスタイルのクライアントデバイス上で表示することのできる HTML へのスタイルの変換に関連しています。Web クライアントと Windows クライアント の場合、リッチテキスト コンテンツはエンドユーザーにより編集し書式変更されることが可能です。 ルールとマッピングはこのため、変更された HTML スタイルを XML ページソースへ戻すために使用されます。
リッチテキスト スタイルシート ダイアログ内では、 スタイルルールとマッピングはこれらのセクションは以下で説明されています:
このセクションで定義されている属性はリッチテキスト コントロール内のコンテンツにページソース内の同じ名前の属性にマップされます (下のスクリーンショット参照) 。ページソース内のすべての要素の属性にマッピングは適用されます。ここで定義されている属性は、親要素がどのようにスタイルされるかを説明しています。 他方、ここで定義されていない属性は親要素のスタイルをパスしません。
右側のペインのツールバー内の「スタイルの追加」をクリックして、属性の名前を入力し、スタイルされている属性のリストに属性を追加することができます。
以下の点について注意してください:
•そのまま使用する は、ページソース内の属性のコンテンツが有効な CSS であることを期待します。
•CSS: 1つ、または、複数の CSS プロパティ値ペアをとります。XML ページソース内の属性からプロパティ値を使用する場合、$value を使用して、その属性の値を取得します。例えば、ページソース内の属性が format という名前の属性を持つ場合 : (i) <myelement format="red">...</myelement> と (ii) format 属性はスタイルシート内で上のスクリーンショットで示されるように定義されており、 red である format 属性の全体の値はスタイルの定義内の $value と置き換えられます。ですから、 myelement の場合、(format 属性のスタイルの定義から取得される) スタイルの定義は以下に対して解決されます: font-weight:bold; color:red。 ページソース内で、他の要素が @format="blue" を持つ場合、要素のスタイルの定義は次に対して解決されます: font-weight:bold; color:blue.
•If 要素 in XML ページソース内の要素がスタイルシート内で存在するそのまま使用する スタイルの定義の両方の属性を持つ場合、その要素をスタイルするために2つのスタイルの定義は結合されます。
•上のスクリーンショット内の属性の定義がページソースの XML 内の次の要素に適用されている場合:
<heading style="font-style:italic;" global="font-weight:bold;">Text Formatting</heading>
@style 属性はそのまま使用されるため、結果するスタイルの定義は font-style:italic となります。 @global 属性はスタイルシート内で定義されていないため無視されます。
•上のスクリーンショット内の属性の定義が次の要素に適用されている場合:
<heading format="red">Text Formatting</heading>
スタイルシート内の format 属性の定義であるため、適用されるスタイルは、 font-weight:bold; color:red; になります。
各要素マッピング (下のスクリーンショット参照) はリストされる要素の特定のプロパティを定義し、以下を行うことができます:
•要素の CSS スタイルプロパティを定義します。定義されている場合、 これらのスタイルプロパティは属性スタイルマッピング セクション内で属性のために定義されるスタイルよりも高い優先順位を持ちます。
•要素が(HTML div に対応する)ブロック要素 、または、(HTML span に対応する)インライン要素であるかを指定します。デフォルトの設定はブロックです。このため、デフォルトでは、インラインと指定されない限り、すべての要素は新規のラインに表示されます。 一方、インライン要素はライン内で発生します。共通のインライン要素はライン内のテキストを太字、または、斜体でマークアップします。下のスクリーンショットでは、どの要素がインラインとして指定されているかに注意してください。
•どの要素の属性が要素のスタイルプロパティを持つか指定してください。 これらの属性は、(クライアントから)スタイルプロパティが書き込まれる XML ドキュメント内の属性になります。
右側のペインのツールバー内の 「スタイルの追加」をクリックして、定義する要素の名前を入力してリストに要素を追加することができます。
このセクションでのルールは要素が持つことのできる子要素を定義することです (下のスクリーンショット参照)。入力する子要素のリストは、スキーマで許可されているすべての子要素のリストに完全に一致する必要はありません。 リッチテキスト コントロール 内のコンテンツを編集する際にエンドユーザーが追加することを許可する子要素のリストです。要素がここにリストされていない場合、その要素の子としてすべての要素を使用することができます。
右側のペインのツールバー内の 「スタイルの追加」 をクリックし、要素の名前を入力して、リストに要素を追加することができます。
上のスクリーンショットでは、 例えば、para 要素は次の子を持つように定義されています: bold、 italic、 bolditalic と link。エンドユーザーがこのスタイルシートを使用するリッチテキストコントロール内のコンテンツを編集中に para 要素内を右クリックすると、下のスクリーンショット内に表示されるコンテキストメニューが表示されます。挿入することのできる要素は para 要素の子として定義されている要素です。
リッチテキスト コントロールが Web クライアント、または、 Windows クライアントのソリューション内で表示される場合、コントロールのコンテンツを編集することが可能です。これらのデバイス上では、ツールバーの編集は、コントロールの上の部分に表示されます (下のスクリーンショット参照) 。エンドユーザーはツールバー内のアイコンをクリックして、選択されたテキストコンテンツにアイコンのスタイルを割り当てることができます。
リッチテキスト スタイルシート ダイアログのツールバーの割り当て セクションで XML 要素をツールバーアイテムにマップします (下のスクリーンショット)。下のスクリーンショットでは、 例えば、 (i) (スタイル 列内のコンボボックスで選択済みの)斜体 アイコンは italic という名前の要素にマップされます。 (ii) 太字 アイコンは bold という名前の要素にマップされます。 (iii) テキストの色 の選択は、 color-caption という名前の要素にマップされます。エンドユーザーがツールバーアイコンをクリックすると、または、ツールバーのコンボボックスの1つを選択すると、ツールバーアイテムに関連したスタイルが選択されたテキストに適用されます。
XML レベルでは、ツールバーアイテムにマップされている要素は選択されたテキストの周りで作成されます。 この要素に関連したスタイルが存在しない場合、関連するスタイルを含む属性が要素に追加されます。 例えば、下のスクリーンショットでは、 italic 要素がダイアログの要素マッピング セクション内の斜線のスタイルに関連付けられており、 (斜体 ツールバー アイコンをクリックし)テキストの選択の周りで italic 要素を作成することは、テイストの選択が斜体で表示されることを意味します。下のスクリーンショット内に表示されている テキストの色 ツールバーアイテムの場合、 color-caption 要素のためにスタイルプロパティは定義されていません(要素マッピング セクション内のスクリーンショットを参照してください) 。この結果、ツールバー内でエンドユーザーが選択するテキストの色は、 color-caption 要素の formatting 属性内に保管されます。編集されたソリューションからどの XML 要素 スタイルの属性がマップされるかは、要素のマッピング セクション内の要素の定義内で指定されています (スクリーンショット内の color-caption の定義 を参照してください)。
右側のペインのツールバー内の 「スタイルの追加」 をクリックし、要素の名前を入力して ツールバーの割り当て リストに要素を追加することができます。 次の列内では、コンボボックスから対応するツールバーアイテムを選択します (使用することのできる ツールバーアイテムすべては、コンボボックスのドロップダウンリスト内でリストされています)。
スタイルのリストは、リスト構造の2つの型に対して使用することができます:
•コンテナーのリスト (編集可能な マーカー はリスト全体に適用されます): リストアイテム 子要素を含むリスト要素としてリストは構成されています。 例: <list> <item/>...<item/> </list>。 下のスクリーンショットでは、 最初の定義はこの型のリストです。 エンドユーザーはリストマーカーのリスト全体を変更することができます (例えば、マーカーが数字、または、スクエアであるかなど)。デザイナーとしてリストの最初のマーカーを定義します。
•アイテムシーケンスリスト (編集可能な マーカー は個別のリストアイテムに適用されます): リストアイテム 要素のシーケンスにより構成されるリスト要素を含まないリストです。例: <li>aaa</li>...<li>nnn</li>. 下のスクリーンショットでは、 2番目の定義がこの型のリストです。個別 リストアイテムのマーカー文字は、エンドユーザーにより編集されることができますが、マーカーを1度に編集することは できません。
エンドユーザーは、リストの両方の種類を編集することができ、リストアイテムを追加、または、削除することもできます ( リッチテキスト コンテンツの編集を参照してください).
メモ: | 選択された マーカーは、リストが番号別、または、アイテム別に整理されるか決定します。 |
スタイルのリストを定義するには (上のスクリーンショット参照)、以下を行います:
1.右側のペインのツールバー内の 「スタイルの追加」 をクリックしてリストのためにエントリを追加します。
2.要素 列内: コンテナーのリストのために、リストに対応する要素の名前を入力します。アイテムシーケンスリストのためにリストアイテム要素の名前を入力します。
3.アイテム列内: コンテナーのリストのために、リストに対応する要素の名前を入力します。アイテムシーケンスリストのためには、入力をしません。
4.属性 列内: コンテナーのリストのために、リストマーカーの名前を持つ属性の名前を入力します。アイテムシーケンスリストのためには何も入力しません。 エンドユーザーが他のマーカーを最初のマーカー以外でコンテナーのリストのために選択する場合、新規のマーカー名がこの属性のために入力され、リストはこの属性の値を基にスタイルされます。