<?xml version='1.0' encoding='Shift_JIS' ?>

<doc xml:lang='ja'>
<head>
<title>共通属性</title>
<author>浅海 智晴</author>
<date>2002年3月1日</date>
</head>
<body>

SmartDocでは多くの要素を定義していますが、
これらの要素で共通に用いられる属性があります。
本章では、これらの共通属性について説明します。

<section title="xml:lang">

<subsection title="機能">

<code>xml:lang</code>属性はXML 1.0で定義されているXMLにおける標準属性であり、
要素の言語を指定します。
要素内のデータはこの属性で示された言語として扱われます。

SmartDocでは、この<code>xml:lang</code>属性をXML 1.0の仕様にしたがって
処理します。

SmartDocでは、<code>locale</code>属性という要素の言語を指定する属性を独自に
追加しています。
<code>xml:lang</code>属性と
<code>locale</code>属性との違いは、ターゲット文書生成時の扱いにあります。

<code>xml:lang</code>属性はSmartDocのドキュメント内の要素が所属する言語を示す
目的のものであり、ターゲット文書の言語によらず必ず有効になります。
それに対して
<code>locale</code>属性は、ターゲット文書の言語において有効な言語を
指定するものであり、ターゲット文書の言語にマッチしない要素は取り除かれます。

</subsection>

<subsection title="用途">

マルチリンガルドキュメントを作成する時に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/xmllang.sdoc" id="prog:xmllangSdoc" title="xml:lang属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTML生成時には<code>lang</code>属性として、<code>xml:lang</code>属性の値が
反映されます。

</subsection>

<subsection title="LaTeX">

<code>xml:lang</code>属性の値は無視されます。

</subsection>

<subsection title="プレインテキスト">

<code>xml:lang</code>属性の値は無視されます。

</subsection>

</section>

<section title="xml:space">

<subsection title="機能">

<code>xml:space</code>属性はXML 1.0で定義されているXMLにおける標準属性であり、
空白の取り扱い方法を指定します。

<code>xml:space</code>は以下のいずれかの値を取ります。

<dl>
  <dt>default</dt>
  <dd>アプリケーションの処理に任せる</dd>
  <dt>preserve</dt>
  <dd>空白を保存する</dd>
</dl>

SmartDocでは、ノーマライザがこの<code>xml:space</code>の処理を受け持ちます。

</subsection>

<subsection title="用途">

空白の制御を行いたい場合に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/xmlspace.sdoc" id="prog:xmlspaceSdoc" title="xml:space属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

指定によって
空白が保存された文章が出力されます。

</subsection>

<subsection title="LaTeX">

指定によって
空白が保存された文章が出力されます。

</subsection>

<subsection title="プレインテキスト">

指定によって
空白が保存された文章が出力されます。

</subsection>

</section>

<section title="id">

<subsection title="機能">

要素を識別するためのIDを指定します。
IDを指定した要素は他の要素から参照することができます。

</subsection>

<subsection title="用途">

表(<code>table</code>要素)や図版(<code>figure</code>要素)などに対して
<code>a</code>要素で参照する場合に用います。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/id.sdoc" id="prog:idSdoc" title="id属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

各要素の<code>id</code>属性に反映されます。

</subsection>

<subsection title="LaTeX">

可能なものに関しては、できるだけ参照先のラベルとして使用されます。

</subsection>

<subsection title="プレインテキスト">

可能なものに関しては、できるだけ参照先を特定するために使用されます。

</subsection>

</section>

<section title="idref">

<subsection title="機能">

<code>id</code>属性で指定された要素を参照します。

</subsection>

<subsection title="用途">

他要素の参照機能を持つ要素において、<code>id</code>要素によって特定できる
要素の参照を行います。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/idref.sdoc" id="prog:idrefSdoc" title="idref属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

<code>a</code>要素など文書内の要素に対する参照を持つことができる
要素の生成時に<code>idref</code>属性の内容が反映されます。

</subsection>

<subsection title="LaTeX">

可能なものに関しては、できるだけラベルの参照として使用されます。

</subsection>

<subsection title="プレインテキスト">

可能なものに関しては、できるだけ参照先を特定するために使用されます。

</subsection>

</section>

<section title="class">

<subsection title="機能">

要素のクラスを指定します。
<code>class</code>属性で指定されたクラスはSmartDoc処理系の動作に影響は
与えませんが、
要素にクラスを指定することで、同じ要素でも、SmartDoc以外のプログラムで処理する
時の処理方法を変更することができます。

</subsection>

<subsection title="用途">

クラスの主な用途はCSSによるスタイルシートでのクラス指定です。
要素にクラス指定しておくことで、目的に従った表示スタイルを外部から
指定することができるようになります。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/class.sdoc" id="prog:classSdoc" title="class属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

そのままHTML要素の<code>class</code>属性に使用されます。

</subsection>

<subsection title="LaTeX">

無視されます。

</subsection>

<subsection title="プレインテキスト">

無視されます。

</subsection>

</section>

<section title="style">

<subsection title="機能">

要素に対するスタイルをCSSで指定します。
指定されたスタイルをどう解釈するのかは、各ジェネレータにまかされています。

</subsection>

<subsection title="用途">

要素の表示スタイルを指定したい時に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/style.sdoc" id="prog:styleSdoc" title="style属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

そのままHTML要素の<code>style</code>属性として使用されます。

</subsection>

<subsection title="LaTeX">

一部のCSS機能が解釈されて、LaTeX文書生成時に利用されます。

</subsection>

<subsection title="プレインテキスト">

無視されます。

</subsection>

</section>

<section title="title">

<subsection title="機能">

要素のタイトルを指定します。

</subsection>

<subsection title="用途">

表(<code>table</code>要素)や図版(<code>figure</code>要素)など
タイトルの表示が必要な場合に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/title.sdoc" id="prog:titleSdoc" title="title属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

必要に応じてHTMLの各要素の<code>title</code>属性に反映されます。
また<code>table</code>要素における<code>caption</code>要素、
<code>img</code>要素における<code>alt</code>属性など、
タイトルの設定が必要な場所にも反映されます。

</subsection>

<subsection title="LaTeX">

表や図版などタイトルが表示できる場所に使用されます。

</subsection>

<subsection title="プレインテキスト">

表や図版などタイトルが表示できる場所に使用されます。

</subsection>

</section>

<section title="format">

<subsection title="機能">

要素が有効となる出力フォーマットを指定します。
省略された場合にはすべての出力フォーマットで有効な要素となります。

フォーマットは<tt>sdoc</tt>コマンドの<tt>format</tt>オプションで指定されます。

</subsection>

<subsection title="用途">

出力フォーマットによって有効となる要素を使い分けたい時に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/format.sdoc" id="prog:formatSdoc" title="format属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

format属性を持たない要素およびformat属性で&quot;html4&quot;/&quot;html3&quot;
が指定された要素のみHTMLで有効になります。

</subsection>

<subsection title="LaTeX">

format属性を持たない要素およびformat属性で&quot;latex2e&quot;
が指定された要素のみLaTeXで有効になります。

</subsection>

<subsection title="プレインテキスト">

format属性を持たない要素およびformat属性で&quot;plain&quot;
が指定された要素のみプレインテキストで有効になります。

</subsection>

</section>

<section title="locale">

<subsection title="機能">

要素が有効となるロケールを指定します。
省略された場合にはすべてのロケールで有効な要素となります。

ロケールは<tt>sdoc</tt>コマンドの<tt>locale</tt>オプションで指定されます。

</subsection>

<subsection title="用途">

ロケールによって有効になる要素を使い分けたい時に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/locale.sdoc" id="prog:localeSdoc" title="locale属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTMLではロケール機能によって選択済みの要素のみが有効になります。

</subsection>

<subsection title="LaTeX">

LaTeXではロケール機能によって選択済みの要素のみが有効になります。

</subsection>

<subsection title="プレインテキスト">

プレインテキストではロケール機能によって
選択済みの要素のみが有効になります。

</subsection>

</section>

<section title="key">

<subsection title="機能">

要素が有効となるキーを指定します。
省略された場合にはすべてのキーに対して有効な要素となります。

キーは<tt>sdoc</tt>コマンドの<tt>key</tt>オプションで指定されます。

</subsection>

<subsection title="用途">

複数のバージョン情報が混在したマニュアルの作成など、
外部パラメタによって出力したい文書をチューニングしたい場合に使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/key.sdoc" id="prog:keySdoc" title="key.sdoc" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTMLではキー機能によって選択済みの要素のみが有効になります。

</subsection>

<subsection title="LaTeX">

LaTeXではキー機能によって選択済みの要素のみが有効になります。

</subsection>

<subsection title="プレインテキスト">

プレインテキストではキー機能によって
選択済みの要素のみが有効になります。

</subsection>

</section>

<section title="src">

<subsection title="機能">

要素の中に埋め込む外部リソースのURIを指定します。
リソースがどのように取り込まれるかはアダプタに依存します。

</subsection>

<subsection title="用途">

<code>figure</code>要素や<code>program</code>要素など
要素内に埋め込む外部リソースを指定するために使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/src.sdoc" id="prog:srcSdoc" title="src属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTMLには外部リソースが埋め込まれた状態の文書が渡されます。

</subsection>

<subsection title="LaTeX2e">

LaTeXには外部リソースが埋め込まれた状態の文書が渡されます。

</subsection>

<subsection title="プレインテキスト">

プレインテキストには外部リソースが埋め込まれた状態の文書が渡されます。

</subsection>

</section>

<section title="adapter">

<subsection title="機能">

外部リソースから要素で扱うデータを取り込む時の
アダプタを指定します。

</subsection>

<subsection title="用途">

<code>table</code>要素で外部ファイルのXMLデータを、表のデータとして
取り込む時などに使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/adapter.sdoc" id="prog:adapterSdoc" title="adapter属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTMLには、<code>adapter</code>属性で指定されたアダプタによって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

<subsection title="LaTeX2e">

LaTeX2eには、<code>adapter</code>属性で指定されたアダプタによって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

<subsection title="プレインテキスト">

プレインテキストには、<code>adapter</code>属性で指定されたアダプタによって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

</section>

<section title="normalizer">

<subsection title="機能">

SmartDoc文書の内部処理において、<code>normalizer</code>属性で指定された
ノーマライザによって要素の正規化を行います。

</subsection>

<subsection title="用途">

SmartDoc文書内に記述した文字列や要素を、さらに最適な形に調整したい場合に
使用します。

</subsection>

<subsection title="使用例">

<program src="src/commonAttr/normalizer.sdoc" id="prog:normalizerSdoc" title="normalizer属性の使用例" encoding="Shift_JIS"/>

</subsection>

<subsection title="HTML">

HTMLには、<code>normalizer</code>属性で指定されたノーマライザによって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

<subsection title="LaTeX2e">

LaTeX2eには、<code>normalizer</code>属性で指定されたノーマライザによって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

<subsection title="プレインテキスト">

プレインテキストには、<code>normalizer</code>属性で指定されたノーマライザ
によって
取り込まれた外部リソースが反映された状態のSmartDoc文書が、
変換対象として渡されます。

</subsection>

</section>

</body>
</doc>
