概要: 記法に必要な要素を分類してみる。
前に [[記法に必要な要素 /post/50791068068]] である程度は列挙できたけど、 どうも不十分というか不完全、なんか色々混じってるような気がするので、 記法に必要な要素を分類して考えてみる。
以下考えながら書いてるので、変なところがあるかも。
大まかな分類
まず、インターネット上の文書の持つ要素を大まかに分けると、
- 文書全体の構造を表すための要素
- 修飾するための要素
- 双方向メディアであるための要素
の三つに分かれる。
大体この分類で何とかなるとは思う。というかこれを前提に考えていく。
文書全体の構造を表すための要素
文書の構造を決定するのに最低限必要な要素は、
- 文書のタイトル
- 節
- 見出し
- 段落
じゃないかと思う。小説であれビジネス文書であれこの四つは大体存在する。 小さな文書や単なるメモの場合、節、見出し、段落は含まれない場合もあるだろうけど、 文書のタイトルぐらいは含まれると思う。
修飾するための要素
次にこれ。多分これが一番幅広いんじゃないかと思う。 これに含まれる要素は大抵それがなんであるかを示す場合が多いと思うんだけど、 ただ単純に強調したり、あるいは、リストなんかの構造を表したり色々ある。
で、分けると
- 情報(データ)の構造を表す要素
- 属性を付加する要素
に分けられるんじゃないかと思う。
情報の構造を表す要素 に関しては例えばテーブルとかリスト、
属性を付加する要素 に関しては、強調や引用なんかが含まれると思う。
情報の構造を表す要素 についてはそう多くは思いつかないものの、
属性を付加する要素 に関してはかなりあるような気がする。
例えばプログラムに関係する要素だけでも、文字列、配列、構造体、ポインタ、レファレンス、クラス、 とか細かく分けようと思えばかなり細かく分けられるわけで、このあたりの要素についてはよく考えておかないと、 あとで文章をマークアップする際に要素が足りなくて困ったことになる。
双方向メディアであるための要素
で、最後にこれ。これに関しては現状、
- ハイパーリンク
- フォーム
ぐらいしか思いつかない。というか文書としてはこれで事足りると思う。 細かいところとして、ハイパーリンクに関しては、URL や URN、WikiName や InterWikiName が含まれると思う。
まとめ
以上をまとめるとこういうツリーになる。
文書全体の構造を表すための要素 文書のタイトル
節
見出し
段落
修飾するための要素 情報(データ)の構造を表す要素
属性を付加する要素
双方向メディアであるための要素 ハイパーリンク
フォーム
なんか文書に含まれる要素が列挙されたような感じになってるけど、 記法は文書を書くためのものだからこうなったんだろうと思う。
- [[前に要素を考えたとき /post/50791068068]] には今回のエントリのようなことを考えてなかったため、 なんか不完全で色々混ざったような感じになっていた。あと(X)HTML をベースに考えていたため、 それに引きずられている部分もあったんじゃないかと思う。
これで記法の要素の分類に関してはできたんじゃないかと思う。もっとも今回のは要素の分類だけなので、 分類した各要素に何が含まれるか、というのはまた今度考える。
そういえばこれ、特にネットで調べずに書いたんだけど、こういう考察ってすでにあったりするんだろうか?
記法の作成のうち、構文の解析については、プログラミング言語がやってる字句解析/構文解析 の処理の仕方が参考になるんだけど、記法の要素については参考になる文書なんかは見かけたことが無い。 見たことが無い、と言うよりは調べる対象がずれているため、結果として見つけられない、 というのが現状なのかな?多分そうじゃないかとは思う。
必要な要素についての情報は、(X)HTML とか XML、マークアップ言語の周辺技術のあたりに有りそうなんだけど、 そのあたりには詳しくないため、どこにどの情報があるとかないとかよくわかってない。 まあ、そのあたりそのうち調べる。
久しぶりに長文書いた。とりあえず今日はここまで。
#FIXME