XOXO 1.0: Extensible Open XHTML Outlines

(Difference between revisions)

Jump to: navigation, search
m (特別なプロパティ: corrected a typo)
(Publishing XOXO: translated)
Line 194: Line 194:
他のプロパティは全て、"description" プロパティのように単純に定義リストに追加します。
他のプロパティは全て、"description" プロパティのように単純に定義リストに追加します。
-
== Publishing XOXO ==
+
== XOXO の公開 ==
-
XOXO may be published in two forms, valid XHTML, and simple well-formed XML.
+
XOXO は二つの形式で公開できます。妥当な XHTML と簡単な整形式 XML です。
-
=== Valid XHTML XOXO ===
+
=== 妥当な XHTML XOXO ===
-
A valid XHTML XOXO page is a complete XHTML document.
+
妥当な XHTML XOXO ページは完全な XHTML 文書です。
-
<pre><nowiki>
+
<source lang="html4strict">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Line 208: Line 208:
<head>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-
<title>XOXO page</title>
+
<title>XOXO ページ</title>
</head>
</head>
<body>
<body>
<ol class="xoxo">
<ol class="xoxo">
-
  <li><a href="URL-one">TEXT-one</a></li>
+
  <li><a href="URL-one">テキスト1</a></li>
-
  <li><a href="URL-two">TEXT-two</a></li>
+
  <li><a href="URL-two">テキスト2</a></li>
  ...
  ...
</ol>
</ol>
</body>
</body>
</html>
</html>
-
</nowiki></pre>
+
</source>
-
=== Simple well-formed XML XOXO ===
+
=== 簡単な整形式 XML XOXO ===
-
The root element of a simple well-formed XML XOXO page is either an <code>ol</code> or <code>ul</code> with class name of "xoxo".  This variant is ideal for syndication and transclusion into (X)HTML pages with [[rest/ahah|AHAH]].
+
簡単な整形式 XML XOXO ページのルート要素は "xoxo" という class 名を持つ <code>ol</code> <code>ul</code> です。これは、配信と [[rest/ahah|AHAH]] による(X)HTML ページへのトランスクルージョンに理想的な変形版です。
-
<pre><nowiki>
+
<source lang="xml">
<ol class="xoxo">
<ol class="xoxo">
-
  <li><a href="URL-one">TEXT-one</a></li>
+
  <li><a href="URL-one">テキスト1</a></li>
-
  <li><a href="URL-two">TEXT-two</a></li>
+
  <li><a href="URL-two">テキスト2</a></li>
  ...
  ...
</ol>
</ol>
-
</nowiki></pre>
+
</source>
=== Content-Type ===
=== Content-Type ===
-
Valid or well-formed XHTML XOXO SHOULD be served with this Content-Type header for maximum browser compatibility.
+
妥当な、または整形式の XHTML XOXO は、ブラウザの互換性を最大限にするため次の Content-Type ヘッダーを付けて提供するべきです(SHOULD)。
<pre><nowiki>
<pre><nowiki>
Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
</nowiki></pre>
</nowiki></pre>
-
It MUST be served with one of these Content-Type headers:
+
また、次の Content-Type ヘッダーのうち一つを付けて提供しなければなりません(MUST)。
<pre><nowiki>
<pre><nowiki>

Revision as of 14:04, 5 January 2009


XOXOとは、標準的なXHTMLで書かれたシンプルでオープンなアウトラインフォーマットで、(X)HTML, Atom, RSS, そしてarbitrary XMLに組み込むのに適しています. XOXOは microformat オープンスタンダードの一つです.

Contents


仕様ドラフト 2004-10-01

編者

Tantek Celik(Technorati, Inc)

作者

著作権

This specification is (C) 2003-2019 by the authors. However, the authors intend to submit (or already have submitted, see details in the spec) this specification to a standards body with a liberal copyright/licensing policy such as the GMPG, IETF, and/or W3C. Anyone wishing to contribute should read their copyright principles, policies and licenses (e.g. the GMPG Principles) and agree to them, including licensing of all contributions under all required licenses (e.g. CC-by 1.0 and later), before contributing.

特許

この仕様はロイヤリティーフリーの特許方針に帰属するものです。特許方針に関してはW3C Patent PolicyRFC3667RFC3668をご覧下さい。

あらすじ

Attention.xmlについて話し合っていたとき、XHTMLで作るアウトラインおよびblogrollフォーマットの可能性をTantekが指摘しました。XHTMLで記述することにより、ブラウザで表示することも出来れば厳密なXML処理系でパースすることも可能です。このページはそのフォーマットについて考えるための場所として作られました。

名称

XOXOはeXtensible Open XHTML Outlinesの略称であり、「エックス オー エックス オー」、「ジョージョー」または「ショーショー」などと発音されています。

要約

XOXOマイクロフォーマットの一つです。この仕様では、モジュールの骨格と、「XHTML のモジュール化」(XHTMLMOD)で定義されたモジュールに基づいて、新しい XHTML ドキュメントタイプを定義します。 XHTML として使いやすく、XML エンジンが処理してブラウザで簡単にインタラクティブな表示ができるようなアウトラインの土台となるのが XOXO の目的です。

XOXO ドキュメントタイプ

XOXO ドキュメントタイプは次の XHTML モジュールで構成されます。このモジュールにある要素、属性、最小内容モデルは「XHTML のモジュール化」(XHTMLMOD)で定義されています。要素は情報を提示するためにここで一覧にしますが、最終的には「XHTML のモジュール化」での定義を参照するべきです。このドキュメントのオンライン版では、下の一覧のモジュール名を、「XHTML のモジュール化」現行バージョン内のモジュール定義へのリンクとしています。

構造モジュール(Structure Module)

 body, head, html, title

ハイパーテキストモジュール(Hypertext Module)

 a

リストモジュール(List Module)

 dl, dt, dd, ol, ul, li

メタ情報モジュール(Metainformation Module)

 meta

スタイルシートモジュール(Style Sheet Module)

 style 要素

スタイル属性モジュールモジュール(Style Attribute Module)

 style 属性

リンクモジュール(Link Module)

 link

レガシーモジュール(Legacy Module)

 ol と ul での compact 属性

XOXO プロファイル

XOXO の class 属性用の値を定義した XOXO の XMDP プロファイルは、xoxo-profile を参照してください。

簡単な XOXO の断片

マークアップ

<ol class='xoxo'>
  <li>項目 1
    <ol>
        <li>下位項目 a</li>
        <li>下位項目 b</li>
    </ol>
  </li>
  <li>項目 2
    <ol compact="compact">
        <li>下位項目 c</li>
        <li>下位項目 d</li>
    </ol>
  </li>
  <li>項目 3
    <ol>
        <li>下位項目 e</li>
    </ol>
  </li>
</ol>

表示例

   1. 項目 1
      a. 下位項目 a
      b. 下位項目 b
   2. 項目 2
   3. 項目 3
      a. 下位項目 e

'compact' 属性の使用法

「項目 2」という見出しの下位項目が開いた状態ではない(訳注:折りたたまれた状態である)ことを示すために、'compact' 属性を使ったことに注意してください。そこ以外に 'compact' 属性は無いので、他の見出しは開いた状態です。

表示例のようになるデフォルトスタイルルールの一例

ol.xoxo { list-style:decimal; }
ol.xoxo ol { list-style:lower-latin; }
ol[compact="compact"] { display:none; }


別の簡単な例

マークアップが簡単なまま表現を豊かにすることが可能であることを示す、MarkP による例の一式があります。


アウトライン項目のプロパティ

アウトラインは通常、項目と下位項目で構成されます。各項目(アウトライン項目)自体に、表示する必要のある何らかのプロパティ(別の言い方をすれば属性、メタデータ)があるかもしれません。上の Mark Pilgrim の例にあるように、実際にアウトライン項目のプロパティとして共通して追加されるのは URL でしょう。テキストによるアウトライン項目のラベル/タイトルも共通のプロパティと考えることができます。共通プロパティを幾つか挙げます。

アウトライン項目 <li> のプロパティは、一般に入れ子になった定義リスト <dl> で表現されます。厳密に言うと、<li> の内側にあってその下にある全ての <ol><ul><li>の前にある最初の <dl> です。次の例では description(説明)プロパティを持つ「項目 1」という項目です(ここでの下位項目は、純粋に先ほどの例との比較用です)。

<ol class='xoxo'>
  <li>項目 1
    <dl>
      <dt>description</dt>
        <dd>この項目が、今考えている主要ポイントを示しています。</dd>
    </dl>
    <ol>
      <li>下位項目 a</li>
      <li>下位項目 b</li>
    </ol>
  </li>
</ol>

特別なプロパティ

定義リストの代わりに、セマンティックな XHTML ブロックの中にもっと便利で直接に表現できる特別なプロパティは少ししかありません。ほとんどの場合、上の共通プロパティの一覧から持ってこられます。次です。

これを単に(前の例では "description" プロパティを含んでいる)定義項目として表示するとしたら、次のようになるでしょう。

議論のためだけで規範的ではない XOXO 例:

<ol class='xoxo'>
  <li>
    <dl>
      <dt>text</dt>
        <dd>項目 1</dd>
      <dt>description</dt>
        <dd>この項目が、今考えている主要ポイントを示しています。</dd>
      <dt>url</dt>
        <dd>http://example.com/more.xoxo</dd>
      <dt>title</dt>
        <dd>項目 1 のタイトル</dd>
      <dt>type</dt>
        <dd>text/xml</dd>
      <dt>rel</dt>
        <dd>help</dd>
    </dl>
  </li>

ですがセマンティックな <a href> 要素を生かせば、このプロパティを利用する同じケースを飛躍的に簡単にすることができます。パーサーから見ると、これは <li> のすぐ内側にある <a href> 要素に適用されます。

実際の XOXO 例:

<ol class='xoxo'>
  <li><a href="http://example.com/more.xoxo"
         title="項目 1 のタイトル"
         type="text/xml"
         rel="help">項目 1</a>
<!-- "text" プロパティが単に <a> 要素の内容になっていることに注意 -->
      <dl>
        <dt>description</dt>
          <dd>この項目が、今考えている主要ポイントを示しています。</dd>
      </dl>
  </li>

他のプロパティは全て、"description" プロパティのように単純に定義リストに追加します。

XOXO の公開

XOXO は二つの形式で公開できます。妥当な XHTML と簡単な整形式 XML です。

妥当な XHTML の XOXO

妥当な XHTML の XOXO ページは完全な XHTML 文書です。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>XOXO ページ</title>
</head>
<body>
<ol class="xoxo">
 <li><a href="URL-one">テキスト1</a></li>
 <li><a href="URL-two">テキスト2</a></li>
 ...
</ol>
</body>
</html>

簡単な整形式 XML の XOXO

簡単な整形式 XML の XOXO ページのルート要素は "xoxo" という class 名を持つ olul です。これは、配信と AHAH による(X)HTML ページへのトランスクルージョンに理想的な変形版です。

<ol class="xoxo">
 <li><a href="URL-one">テキスト1</a></li>
 <li><a href="URL-two">テキスト2</a></li>
 ...
</ol>

Content-Type

妥当な、または整形式の XHTML の XOXO は、ブラウザの互換性を最大限にするため次の Content-Type ヘッダーを付けて提供するべきです(SHOULD)。

Content-Type: text/html; charset=utf-8

また、次の Content-Type ヘッダーのうち一つを付けて提供しなければなりません(MUST)。

Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
Content-Type: application/xml

Examples in the Wild

This section is informative.

There are many wild examples. Nearly every blogroll on the Web can be parsed as XOXO, since they are typically an unordered list of list items of hyperlinks, which is within the XOXO profile. List examples here, when the list becomes too long we can move to a dedicated page.

Implementations

This section is informative.

Sample Code

XOXO Schemas

This section is informative.

Note: these may be out of date and require updating to reflect the use of <dl> for annotating XOXO items with arbitrary properties.


References

Normative References

Informative References

This section is informative.

Similar Work

Related Reading

Unrelated Reading

Promotional Materials / Schwag

Discussions

This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. There is a separate document where we are keeping our brainstorms and other explorations relating to XOXO:

Q&A

Issues

Categories

XOXO 1.0: Extensible Open XHTML Outlines was last modified: Wednesday, December 31st, 1969

Views