# 共通属性

浅海 智晴
2001年11月14日

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

# xml:lang

## 機能

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

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

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

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

## 用途

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

## 使用例

xml:lang属性の使用例

## HTML

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

## LaTeX

xml:lang
属性の値は無視されます。

## プレインテキスト

xml:lang
属性の値は無視されます。

# xml:space

## 機能

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

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

default
  アプリケーションの処理に任せる
preserve
  空白を保存する

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

## 用途

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

## 使用例

xml:space属性の使用例

## HTML

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

## LaTeX

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

## プレインテキスト

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

# id

## 機能

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

## 用途

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

## 使用例

id属性の使用例

## HTML

各要素の`id`属性に反映されます。

## LaTeX

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

## プレインテキスト

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

# idref

## 機能

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

## 用途

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

## 使用例

idref属性の使用例

## HTML

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

## LaTeX

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

## プレインテキスト

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

# class

## 機能

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

## 用途

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

## 使用例

class属性の使用例

## HTML

そのままHTML要素の`class`属性に使用されます。

## LaTeX

無視されます。

## プレインテキスト

無視されます。

# style

## 機能

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

## 用途

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

## 使用例

style属性の使用例

## HTML

そのままHTML要素の`style`属性として使用されます。

## LaTeX

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

## プレインテキスト

無視されます。

# title

## 機能

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

## 用途

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

## 使用例

title属性の使用例

## HTML

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

## LaTeX

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

## プレインテキスト

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

# format

## 機能

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

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

## 用途

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

## 使用例

format属性の使用例

## HTML

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

## LaTeX

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

## プレインテキスト

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

# locale

## 機能

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

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

## 用途

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

## 使用例

locale属性の使用例

## HTML

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

## LaTeX

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

## プレインテキスト

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

# key

## 機能

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

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

## 用途

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

## 使用例

key.sdoc

## HTML

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

## LaTeX

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

## プレインテキスト

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

# src

## 機能

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

## 用途

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

## 使用例

src属性の使用例

## HTML

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

## LaTeX2e

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

## プレインテキスト

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

# adapter

## 機能

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

## 用途

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

## 使用例

adapter属性の使用例

## HTML

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

## LaTeX2e

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

## プレインテキスト

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

# normalizer

## 機能

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

## 用途

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

## 使用例

normalizer属性の使用例

## HTML

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

## LaTeX2e

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

## プレインテキスト

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