HTMLとはなにか
HTMLはHyper Markup Languageの略。もともとあったSGMLという構造化文章のためのマークアップ言語をベースに開発したHTML4.01、より仕様をシンプルにしたXML、HTMLをSGMLベースからXMLベースにXHTML1.0などがある。
HTML5
現在策定中、急速に普及しているHTML5ではSGML構文とXML構文が用意されている。特にXMLに限定した場合にはXHTML5と呼ばれる。また、HTML5ではHTML系の構文とXHTMLの構文の混在が許されている。
XMLの基礎知識
属性
要素は複数の属性を持つことができる。開始タグは属性を複数持つことができるが、同じ名前の属性は一つだけしか記述できない。
実体参照と文字参照
< " などの文字は実体参照を用いて表現することができる。< の場合は
<
で表現可能。
実体参照に以外にも、文字参照を用いて表現することもできる。
文字参照はunicodeの番号で文字を指定する。例えばコピーライト記号(©)は
©
で表現可能。
XML宣言
XMLを利用する際にはファイルの先頭にXML宣言を書く。バージョンは1.0や1.1があるが、1.0を用いるのが主流。
名前空間
複数のXMLフォーマットを用いるときは名前空間を利用することができる。要素と属性に対して名前空間をつけることができ、特にデフォルトで適用されるもの、接頭辞をつけなくても適用されるものをローカル属性と呼び、接頭辞をつけて表現するものをグローバル属性と呼ぶ。
HTMLの構成要素
ヘッダでメタデータを記述。タイトルや他のリソースへのリンクなど。
ボディで表示したい文字やボタンなどの記述をしていく。
リンク関係
a属性とlink属性はそれぞれrel属性を持てる。rel属性にリンク元のリソースとリンク先のリソースがどのような関係にあるのかを記述する。
microformats
RDFとmicroformats
プログラムで処理可能な情報の意味を記述する仕様として1990年代後半にRDFが登場した。けれども
- 記述が複雑になりがち
- 統一的な記述がしづらい
- 対象データとは独立したメタデータが必要
等の問題点があり普及しなかった。この問題点を解消したのがmicroformats。
microformatsはHTML文書そのものにメタデータを埋め込む技術。
Atom
Atomとはなにか
RSSの仕様が乱立している中、拡張性のあるフィードの標準フォーマット作成がAtomの目的の一つ。
RSSでは主にフィードで使われていたが、atomは検索エンジンや写真管理など多様な目的とapiとして活用することができる。
メンバリソース
atomにおける最小リソース単位のこと。例えばブログでいえば1つ1つの記事がメンバリソース。
メンバリソースは エントリリソース , メディアリソース に分かれる。XMLで表現することが可能なのがエントリリソース、テキストなどで表現できない画像や動画などの情報はメディアリソースと呼ばれる。
コレクションリソース
複数のメンバリソースを含むリソースのこと。コレクションリソースは階層化できないため、コレクションリソースにコレクションリソースを含むことはできない。
Atom Publishing Protocol
Atom pubを用いるとブラウザ以外のwebクライアントからブログを投稿したりシステム同士を連携することができる。CRUDを実装するためのプロトコル。RESTに則っている。
Json
Jsonとはなにか
javascript notation objectの略。javascriptの記法で記述することができる。
データ型
組み込みではオブジェクト、配列、文字列、数値、ブーリアン、nullがデータ型として用意されている。
JSONP
JSONP (JSON with padding) は、クロスサイト環境で他のオリジンから JSON データを取得するために考案された仕組み。あるオリジンから、他のオリジンで生成された JSON データを読み出そうとしても、Same-Origin Policyにより、取得したjsonデータへのアクセスは拒否される。
<script src="...">
で他のオリジンのJavaScriptを読み込めることを利用し、用意したコールバック関数のスクリプトを呼び出すことで、他オリジンが生成した JSON データを読み出すことを可能にする。