xoxo-ja: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(sync: english: 18:08, 23 Jul 2006)
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- english: 18:08, 23 Jul 2006 -->
{{DISPLAYTITLE: XOXO 1.0: Extensible Open XHTML Outlines }}
<!-- english: 2008-12-16T17:03:01 -->


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


__TOC__
__TOC__
Line 10: Line 9:


=== 編者 ===
=== 編者 ===
[http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]
[http://tantek.com/ Tantek Celik]([http://technorati.com Technorati, Inc])


=== 作者 ===
=== 作者 ===
* [http://epeus.blogspot.com/ Kevin Marks], [http://technorati.com Technorati, Inc]
* [http://epeus.blogspot.com/ Kevin Marks]([http://technorati.com Technorati, Inc])
* [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc] (formerly of [http://microsoft.com/ Microsoft Corporation])
* [http://tantek.com/ Tantek Celik]([http://technorati.com Technorati, Inc], formerly of [http://microsoft.com/ Microsoft Corporation])
* [http://diveintomark.org/ Mark Pilgrim], [http://ibm.com IBM]
* [http://diveintomark.org/ Mark Pilgrim]([http://ibm.com IBM])
* [http://www.blogologue.com/ Morten W. Petersen]
* [http://www.blogologue.com/ Morten W. Petersen]


=== 著作権 ===
=== 著作権 ===
{{MicroFormatCopyrightStatement2003}}
{{MicroFormatCopyrightStatement2003}}
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.


=== 特許 ===
=== 特許 ===
{{MicroFormatPatentStatement-ja}}
{{MicroFormatPatentStatement-ja}}


== Preamble ==
== あらすじ ==
When we were discussing [http://developers.technorati.com/wiki/attentionxml Attention.xml], Tantek pointed out that XHTML has everything necessary for semantically expressing outlines and blogroll-like subscriptions in an XML format that is both interactively renderable by browsers and parsable by strict XML engines. This page is here to discuss this idea.
[http://developers.technorati.com/wiki/attentionxml Attention.xml]について話し合っていたとき、XHTMLで作るアウトラインおよびblogrollフォーマットの可能性をTantekが指摘しました。XHTMLで記述することにより、ブラウザで表示することも出来れば厳密なXML処理系でパースすることも可能です。このページはそのフォーマットについて考えるための場所として作られました。


=== Name ===
=== 名称 ===
XOXO stands for eXtensible Open XHTML Outlines, and is pronounced variously as 'ecks oh ecks oh', 'zho-zho', or 'sho-sho'.
XOXOはeXtensible Open XHTML Outlinesの略称であり、「エックス オー エックス オー」、「ジョージョー」または「ショーショー」などと発音されています。


== Abstract ==
== 要約 ==
XOXO is one of several [[microformats]].  This specification defines a new XHTML document type that is based upon the module framework and modules defined in Modularization of XHTML ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]). The purpose of the XOXO document type is to serve as the basis for XHTML friendly outlines for processing by XML engines and for easy interactive rendering by browsers.
[[XOXO]] は[[microformats-ja|マイクロフォーマット]]の一つです。この仕様では、モジュールの骨格と、「XHTML のモジュール化」([http://www.w3.org/TR/xhtml-modularization XHTMLMOD])で定義されたモジュールに基づいて、新しい XHTML ドキュメントタイプを定義します。 XHTML として使いやすく、XML エンジンが処理してブラウザで簡単にインタラクティブな表示ができるようなアウトラインの土台となるのが XOXO の目的です。


== The XOXO Document Type ==
== XOXO ドキュメントタイプ ==
The XOXO document type is made up of the following XHTML modules. The elements, attributes, and minimal content models associated with these modules are defined in "Modularization of XHTML" ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]). The elements are listed here for information purposes, but the definitions in "Modularization of XHTML" should be considered definitive. In the on-line version of this document, the module names in the list below link into the definitions of the modules within the current version of "Modularization of XHTML".
XOXO ドキュメントタイプは次の XHTML モジュールで構成されます。このモジュールにある要素、属性、最小内容モデルは「XHTML のモジュール化」([http://www.w3.org/TR/xhtml-modularization XHTMLMOD])で定義されています。要素は情報を提示するためにここで一覧にしますが、最終的には「XHTML のモジュール化」での定義を参照するべきです。このドキュメントのオンライン版では、下の一覧のモジュール名を、「XHTML のモジュール化」現行バージョン内のモジュール定義へのリンクとしています。


[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_structuremodule Structure Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_structuremodule 構造モジュール(Structure Module)]
   body, head, html, title
   body, head, html, title
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_hypertextmodule Hypertext Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_hypertextmodule ハイパーテキストモジュール(Hypertext Module)]
   a
   a
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_listmodule List Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_listmodule リストモジュール(List Module)]
   dl, dt, dd, ol, ul, li
   dl, dt, dd, ol, ul, li
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule Metainformation Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule メタ情報モジュール(Metainformation Module)]
   meta
   meta
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule Stylesheet Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule スタイルシートモジュール(Style Sheet Module)]
   style element
   style 要素
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule Style Attribute Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule スタイル属性モジュールモジュール(Style Attribute Module)]
   style attribute
   style 属性
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule Link Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule リンクモジュール(Link Module)]
   link
   link
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_legacymodule Legacy Module]
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_legacymodule レガシーモジュール(Legacy Module)]
   Attribute compact on ol and ul
   ol ul での compact 属性


=== The XOXO Profile ===
=== XOXO プロファイル ===


See [[xoxo-profile]] for the [http://gmpg.org/xmdp XMDP] profile of XOXO which defines the XOXO values for the class attribute.
XOXO の class 属性用の値を定義した XOXO の [http://gmpg.org/xmdp XMDP] プロファイルは、[[xoxo-profile]] を参照してください。


== Simple XOXO Fragment ==
== 簡単な XOXO の断片 ==


=== Markup ===
=== マークアップ ===


<pre><nowiki><ol class='xoxo'>
<source lang="html4strict"><ol class='xoxo'>
   <li>Subject 1
   <li>項目 1
     <ol>
     <ol>
         <li>subpoint a</li>
         <li>下位項目 a</li>
         <li>subpoint b</li>
         <li>下位項目 b</li>
     </ol>
     </ol>
   </li>
   </li>
   <li>Subject 2
   <li>項目 2
     <ol compact="compact">
     <ol compact="compact">
         <li>subpoint c</li>
         <li>下位項目 c</li>
         <li>subpoint d</li>
         <li>下位項目 d</li>
     </ol>
     </ol>
   </li>
   </li>
   <li>Subject 3
   <li>項目 3
     <ol>
     <ol>
         <li>subpoint e</li>
         <li>下位項目 e</li>
     </ol>
     </ol>
   </li>
   </li>
</ol>
</ol>
</nowiki></pre>
</source>


=== Sample Rendering ===
=== 表示例 ===
<pre><nowiki>
<pre><nowiki>
   1. Subject 1
   1. 項目 1
       a. subpoint a
       a. 下位項目 a
       b. subpoint b
       b. 下位項目 b
   2. Subject 2
   2. 項目 2
   3. Subject 3
   3. 項目 3
       a. subpoint e
       a. 下位項目 e
</nowiki></pre>
</nowiki></pre>
=== Usage of 'compact' attribute ===
=== 'compact' 属性の使用法 ===


Note the use of the 'compact' attribute to indicate that the subpoints of the headline "Subject 2" are not in an expanded state.  The absence of the 'compact' attribute elsewhere indicates that the other headlines are in an expanded state.
「項目 2」という見出しの下位項目が開いた状態ではない(訳注:折りたたまれた状態である)ことを示すために、'compact' 属性を使ったことに注意してください。そこ以外に 'compact' 属性は無いので、他の見出しは開いた状態です。


=== Possible Default Style Rules for Sample Rendering ===
=== 表示例のようになるデフォルトスタイルルールの一例 ===


<pre><nowiki>
<source lang="css">
ol.xoxo { list-style:decimal; }
ol.xoxo { list-style:decimal; }
ol.xoxo ol { list-style:lower-latin; }
ol.xoxo ol { list-style:lower-latin; }
ol[compact="compact"] { display:none; }
ol[compact="compact"] { display:none; }
</nowiki></pre>
</source>
 
 
== 別の簡単な例 ==
 
 
マークアップが簡単なまま表現を豊かにすることが可能であることを示す、MarkP による例の一式があります。




== More Simple Examples ==


MarkP has a set of examples that demonstrates both the simplicity of the markup and the presentational richness that is possible:
* [http://diveintomark.org/public/2004/01/xo-flat.xo XHTML ページに直接埋め込める XO ファイルの例]


* [http://diveintomark.org/public/2004/01/xo-flat.xo simple XO file that can be embedded directly into an XHTML page]
* [http://diveintomark.org/public/2004/01/xo-embeddable.xo グループを入れ子にした XO。これも XHTML に直接埋め込める]
* [http://diveintomark.org/public/2004/01/xo-embeddable.xo XO with nested groups, also directly embeddedable in XHTML]
* [http://diveintomark.org/public/2004/01/xo-standalone.xo standalone XHTML ページとしての XO][http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-standalone.xo 妥当な XHTML です]
* [http://diveintomark.org/public/2004/01/xo-standalone.xo XO as a standalone XHTML page] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-standalone.xo valid XHTML])
* [http://diveintomark.org/public/2004/01/xo-with-style.xo CSS でレイアウトした standalone XHTML としての XO][http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-with-style.xo これも妥当な XHTML です]
* [http://diveintomark.org/public/2004/01/xo-with-style.xo XO as a standalone XHTML page, styled with CSS] ([http://validator.w3.org/check?uri=http%3A%2F%2Fdiveintomark.org%2Fpublic%2F2004%2F01%2Fxo-with-style.xo also valid XHTML])
* [http://homepage.mac.com/ctholland/thelab/outlines/ Chris Holland Outline Helper]:上の例に手を加え、簡単のため CSS をコピーし、[http://homepage.mac.com/ctholland/thelab/outlines/outlines.css outlines.css] [http://homepage.mac.com/ctholland/thelab/outlines/outlines.js outlines.js] への参照を追加して、compact 属性をつけた別の ul/ol/li を組み合わせて貼り付けた例
* [http://homepage.mac.com/ctholland/thelab/outlines/ Chris Holland Outline Helper]: tweaked one of above samples, yanked CSS for simplicity, added reference to [http://homepage.mac.com/ctholland/thelab/outlines/outlines.css outlines.css] and [http://homepage.mac.com/ctholland/thelab/outlines/outlines.js outlines.js], pasted a few different combinations of ul/ol/li with the compact attribute.
** セマンティックな指針に適合させようとする時、ol や ul 要素の "compact" 属性は、表示状態を操作する物となります。スクリプトの中で、スタイルに柔軟性を持たせるために下位項目を持つ li 要素にクラスを設定しました。CSS の指導者的立場の人達は、「'compact' 属性が設定されている ol ノードを含む li ノードを選択する」他の CSS セレクターで "li.expanded" を置き換えられるかもしれません。
** in trying to comply with semantic principles the "compact" attribute to ol and ul elements is what drives the display state. Via scripting, i'm setting classes on containing li element for added styling flexibility, though CSS Gurus might be able to replace "li.expanded" in outlines.css with some other CSS selector that says "select an li node that contains an ol node with a 'compact' attribute set".
*** 「'compact' 属性が設定されている ol ノードを含む li ノードを選択する」CSS セレクターは「li ol[compact="compact"」になるでしょう(訳注:このセレクターは目的のノードを選択しません)。


== Properties of Outline Items ==
== アウトライン項目のプロパティ ==
Outlines typically consist of a hierarchy of points and subpoints.  Each of those points (outline items) itself may have some properties (AKA attributes or metadata) that need to be represented.  Perhaps the most common additional property on outline items in practice is the URL as demonstrated in Mark Pilgrim's examples above.  Even the text label/title of an outline item could be considered a common property.  A few such common properties:
アウトラインは通常、項目と下位項目で構成されます。各項目(アウトライン項目)自体に、表示する必要のある何らかのプロパティ(別の言い方をすれば属性、メタデータ)があるかもしれません。上の Mark Pilgrim の例にあるように、実際にアウトライン項目のプロパティとして共通して追加されるのは URL でしょう。テキストによるアウトライン項目のラベル/タイトルも共通のプロパティと考えることができます。共通プロパティを幾つか挙げます。
* text
* text(テキスト)
* description
* description(説明)
* url (often called xmlurl or htmlurl; sometimes called permalink)
* url(よく xmlurl htmlurl と言われたり固定リンクと呼ばれる)
* title
* title(タイトル)
* type (hint of the MIME type of the resource indicated by the URL)
* type(タイプ;URL が指しているリソースの MIME タイプのヒント)


In general, properties on an outline item <code><nowiki><li></nowiki></code> are represented by a nested definition list <code><nowiki><dl></nowiki></code>.  Strictly speaking, it is the first <code><nowiki><dl></nowiki></code> inside the <code><nowiki><li></nowiki></code> and before any following <code><nowiki><ol></nowiki></code>, <code><nowiki>&lt;ul&gt;</nowiki></code>, or <code>&lt;li&gt;</code>, e.g. here is an item "item 1" with a description property (the subpoints are there purely as a point of reference to an earlier example).
アウトライン項目 <code><nowiki><li></nowiki></code> のプロパティは、一般に入れ子になった定義リスト <code><nowiki><dl></nowiki></code> で表現されます。厳密に言うと、<code><nowiki><li></nowiki></code> の内側にあってその下にある全ての <code><nowiki><ol></nowiki></code><code><nowiki>&lt;ul&gt;</nowiki></code><code>&lt;li&gt;</code>の前にある最初の <code><nowiki><dl></nowiki></code> です。次の例では description(説明)プロパティを持つ「項目 1」という項目です(ここでの下位項目は、純粋に先ほどの例との比較用です)。


<pre><nowiki>
<source lang="html4strict">
<ol class='xoxo'>
<ol class='xoxo'>
   <li>item 1
   <li>項目 1
     <dl>
     <dl>
       <dt>description</dt>
       <dt>description</dt>
         <dd>This item represents the main point we're trying to make.</dd>
         <dd>この項目が、今考えている主要ポイントを示しています。</dd>
     </dl>
     </dl>
     <ol>
     <ol>
       <li>subpoint a</li>
       <li>下位項目 a</li>
       <li>subpoint b</li>
       <li>下位項目 b</li>
     </ol>
     </ol>
   </li>
   </li>
</nowiki></pre>
</ol>
</source>


=== Special Properties ===
=== 特別なプロパティ ===
There are a handful of special properties which we are able to represent more directly and conveniently with the semantic XHTML building blocks that we have included, instead of terms in a definition list.  Mostly taken from the above list of common properties, these are:
定義リストの代わりに、セマンティックな XHTML ブロックの中にもっと便利で直接に表現できる特別なプロパティは少ししかありません。ほとんどの場合、上の共通プロパティの一覧から持ってこられます。次です。
* text, url, title, type, and rel (short for relationship)
* text、url、title、type、rel(relationship;関係の省略形)


If we were to represent them simply as definition terms (including the "description" property from the previous example), they might look something like this:
これを単に(前の例では "description" プロパティを含んでいる)定義項目として表示するとしたら、次のようになるでしょう。


Example for the sake of discussion only / not a canonical XOXO example:
議論のためだけで規範的ではない XOXO 例:


<pre><nowiki>
<source lang="html4strict">
<ol class='xoxo'>
<ol class='xoxo'>
   <li>
   <li>
     <dl>
     <dl>
       <dt>text</dt>
       <dt>text</dt>
         <dd>item 1</dd>
         <dd>項目 1</dd>
       <dt>description</dt>
       <dt>description</dt>
         <dd> This item represents the main point we're trying to make.</dd>
         <dd>この項目が、今考えている主要ポイントを示しています。</dd>
       <dt>url</dt>
       <dt>url</dt>
         <dd>http://example.com/more.xoxo</dd>
         <dd>http://example.com/more.xoxo</dd>
       <dt>title</dt>
       <dt>title</dt>
         <dd>title of item 1</dd>
         <dd>項目 1 のタイトル</dd>
       <dt>type</dt>
       <dt>type</dt>
         <dd>text/xml</dd>
         <dd>text/xml</dd>
Line 165: Line 172:
     </dl>
     </dl>
   </li>
   </li>
</nowiki></pre>
</source>


However, by taking advantage of the semantic <code><a href></code> element, we are able to dramatically simplify the common cases that utilize these properties.  From a parser's perspective, this applies to the first  <code><a href></code> element directly inside the <code><nowiki>&lt;li&gt;</nowiki></code>.
ですがセマンティックな <code><a href></code> 要素を生かせば、このプロパティを利用する同じケースを飛躍的に簡単にすることができます。パーサーから見ると、これは <code><nowiki>&lt;li&gt;</nowiki></code> のすぐ内側にある <code><a href></code> 要素に適用されます。


Actual XOXO Example:
実際の XOXO 例:


<pre><nowiki>
<source lang="html4strict">
<ol class='xoxo'>
<ol class='xoxo'>
   <li><a href="http://example.com/more.xoxo"
   <li><a href="http://example.com/more.xoxo"
         title="title of item 1"
         title="項目 1 のタイトル"
         type="text/xml"
         type="text/xml"
         rel="help">item 1</a>  
         rel="help">項目 1</a>
<!-- note how the "text" property is simply the contents of the <a> element -->
<!-- "text" プロパティが単に <a> 要素の内容になっていることに注意 -->
       <dl>
       <dl>
         <dt>description</dt>
         <dt>description</dt>
           <dd>This item represents the main point we're trying to make.</dd>
           <dd>この項目が、今考えている主要ポイントを示しています。</dd>
       </dl>
       </dl>
   </li>
   </li>
</nowiki></pre>
</source>


Any other properties are simply added to the definition list in the same way as the "description" property.
他のプロパティは全て、"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 201: 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>


==== Content-Type ====
=== 簡単な整形式 XML の XOXO ===


Valid XHTML XOXO SHOULD be served with this Content-Type header for maximum browser compatibility.
簡単な整形式 XML の XOXO ページのルート要素は "xoxo" という class 名を持つ <code>ol</code> か <code>ul</code> です。これは、配信と [[rest/ahah|AHAH]] による(X)HTML ページへのトランスクルージョンに理想的な変形版です。


<pre><nowiki>
<source lang="xml">
Content-Type: text/html; charset=utf-8
</nowiki></pre>
 
It MUST be served with one of these Content-Type headers:
 
<pre><nowiki>
Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
</nowiki></pre>
 
=== Simple well-formed 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]].
 
<pre><nowiki>
<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 ===


Simple well-formed XML XOXO SHOULD be served with this Content-Type header:
妥当な、または整形式の XHTML の XOXO は、ブラウザの互換性を最大限にするため次の Content-Type ヘッダーを付けて提供するべきです(SHOULD)。
<pre><nowiki>
<pre><nowiki>
Content-Type: text/xml; 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>
Content-Type: text/xml; charset=utf-8
Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
Content-Type: application/xml
Content-Type: application/xml
Content-Type: application/xml; charset=utf-8
</nowiki></pre>
</nowiki></pre>


== Examples in the Wild ==
== 実世界での例 ==
This section is '''informative'''.
この節は'''参考情報'''です。


Too numerous to document thoroughly.  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.
実世界に例がたくさんあります。ブログロールはほとんど全て XOXO としてパースできます。通常ハイパーリンクの項目一覧という順序なしリストであり、それは XOXO プロファイルの範囲内だからです。ここに例を並べてください。リストが長くなりすぎた時には専用ページに移動させることができます。


== Implementations ==
* [http://api.talis.com/bf/stores/ukbib/services/facet?query=feynman&fields=title%2Csubject&top=10&output=html 書籍データ切り出しサービス(ファセットサービス)の HTML アウトプット]
This section is '''informative'''.


* [http://chneukirchen.org/blog/ Christian Neukirchen] has [http://chneukirchen.org/blog/archive/2006/01/xoxo-rb-0-1-released.html written a xoxo.rb, a XOXO parser and generator for Ruby]
== 実装 ==
* [http://odeo.com Odeo] publishes users' subscription lists in XOXO. See Ryan King's list [http://odeo.com/profile/RyanKing/xoxo here].
この節は'''参考情報'''です。
* [http://www.decafbad.com/blog/ Les Orchard] has [http://www.decafbad.com/blog/2005/07/12/xoxo_outliner_experiment written] a [http://www.decafbad.com/2005/07/map-test/tree2.html nice XOXO outline editor in javascript].
* http://homepage.mac.com/ctholland/thelab/outlines/ is a great demonstration of  dynamic interactive XOXO with use of "compact" and DHTML to collapse/expand.
* http://tool-man.org/examples/sorting.html is a great demonstration of drag and drop sortable XOXO lists with javascript and CSS.
* http://www.opendarwin.org/~drernie/xoxo-datatypes.html Mapping XOXO to [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html Mac OS X property lists]
* [http://weblog.techno-weenie.net/2005/9/30/if_i_had_a_tumblelog single line of rails to convert XOXO to HTML]


=== Sample Code ===
* 各種 [[s5-tools|S5 ツール]]
* [http://chneukirchen.org/blog/ Christian Neukirchen] は [http://chneukirchen.org/blog/archive/2006/01/xoxo-rb-0-1-released.html Ruby の XOXO パーサー兼ジェネレーターの xoxo.rb を書きました]
* [http://odeo.com Odeo] はユーザーの予約リストを XOXO で公開しています(訳注:現在 XOXO を使っていないようです --[[User:KitaitiMakoto|KitaitiMakoto]] 13:41, 7 January 2009 (UTC))。[http://odeo.com/profile/RyanKing/xoxo ここにある](訳注:リンク切れ)Ryan King のリストをご覧ください。
* [http://www.decafbad.com/blog/ Les Orchard] は[http://www.decafbad.com/2005/07/map-test/tree2.html XOXO によるすばらしいアウトラインエディター]を[http://www.decafbad.com/blog/2005/07/12/xoxo_outliner_experiment 書きました]。
* http://homepage.mac.com/ctholland/thelab/outlines/ は、折りたたんだり開いたりするのに "compact" と DHTML を使った動的でインタラクティブな XOXO のとてもすばらしいデモンストレーションです。
* http://tool-man.org/examples/sorting.html は、ドラッグ・アンド・ドロップで並べ替えられる、JavaScript と CSS を使った XOXO のリストのとてもすばらしいデモンストレーションです。
* http://www.opendarwin.org/~drernie/xoxo-datatypes.html (訳注:リンク切れ。http://ihack.us/2005/10/03/xoxo-datatypes/ でしょうか)は XOXO を [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html Mac OS X プロパティリスト](訳注:リンク切れ)へマッピングします。
* [http://weblog.techno-weenie.net/2005/9/30/if_i_had_a_tumblelog XOXO を HTML に変換する Rails の一行(single line of rails;単線鉄道)]


* See the [[xoxo-sample-code]] page for open source sample code to read and write XOXO files.
=== サンプルコード ===
* See also the [[xoxo-compact-sample]] page with source for CSS and JS that alters the look and feel of some very plain XOXO to have twiddlable triangles for nested lists that respect the compact attribute as well.


== XOXO Schemas ==
* XOXO ファイルを読み書きするオープンソースのサンプルコードコードは [[xoxo-sample-code]] ページをご覧ください。
This section is informative.
* [[xoxo-compact-sample]] ページもご覧ください。極めて単純な XOXO のルック・アンド・フィールを変え、また、ネストされたリスト用の、compact 属性に従って回転する三角マークを持たせる CSS と JavaScript のソースがあります。


Note: these may be out of date and require updating to reflect the use of &lt;dl&gt; for annotating XOXO items with arbitrary properties.
== XOXO スキーマ ==
* [[DTDs]]
この節は参考情報です。
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz Schemas (Relax NG and DTDs)]


注:以下は古いため、任意のプロパティで XOXO 項目に注釈を付けるという &lt;dl&gt; の使い方を反映させたアップデートが必要です。
* [[DTDs|DTD]]
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz スキーマ(Relax NG と DTD)](訳注:リンク切れ)


== References ==
== 参考文献 ==
=== Normative References ===
=== 規範的な参考文献 ===
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
Line 291: Line 285:
* [http://gmpg.org/xfn/ XFN]
* [http://gmpg.org/xfn/ XFN]


=== Informative References ===
=== その他の参考文献 ===
This section is '''informative'''.
この節は'''参考情報'''です。
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
* [[VoteLinks]]
* [[VoteLinks]]
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://opml.scripting.com/spec OPML 1.0]
* [http://opml.scripting.com/spec OPML 1.0]
* Contributed from http://developers.technorati.com/wiki/XOXO
* http://developers.technorati.com/wiki/XOXO による貢献


=== Similar Work ===
=== 類似の試み ===
* [http://dannyayers.com/archives/001961.html XHTML Outlines] - DannyAyers independently came up with idea in 2003 October (just a month or two before Kevin and Tantek independently came up with XOXO) to use a simple profile of XHTML to semantically represent outlines using existing building blocks from XHTML.
* [http://dannyayers.com/archives/001961.html XHTML アウトライン] - DannyAyers 2003 年 10 月(Kevin と Tantek XOXO を思い付くほんの一、二ヶ月前)に、アウトラインをXHTML の既存の基本的な要素でセマンティックに表現するため、簡単な XHTML プロファイルを使うことを独自に考え出しました。
* [http://semtext.org/2004-02/ XOW] - making them editable, producing RDF and bookmark lists from them (DannyAyers)
* [http://semtext.org/2004-02/ XOW] - それを編集可能にし、そこから RDF とブックマークリストを作ります(DannyAyers)
* [http://en.wikipedia.org/wiki/XBEL XBEL、または XML Bookmark Exchange Language(XML ブックマーク交換言語)]。インターネットの URI を共有する XML のオープンスタンダードで、ブックマーク(Internet Explorer ではお気に入り)としても知られます。
* [http://en.wikipedia.org/wiki/OPML OPML(Outline Processor Markup Language)]。アウトライン用の XML フォーマット。


=== Related Reading ===
=== 関係する読み物 ===
* [http://patricklogan.blogspot.com/2005/08/lists-really-can-we-expect-better.html Patrick Logan on why OPML and a Microsoft Lists extension are both unnecessary].
* [http://patricklogan.blogspot.com/2005/08/lists-really-can-we-expect-better.html Patrick Loganの、なぜ OPML Microsoft のリスト拡張が両方とも必要ないかについて]
* [http://raybenchen.blogspot.com/2005/11/is-crappy-format-worth-saving.html Dr. Tao Chen on why it is better to use XOXO than OPML going forward]


=== Unrelated Reading ===
=== 関係のない読み物 ===
* [http://www.questionablecontent.net/view.php?comic=493 Questionable Content comic #493] - apparently the Faye character is a fan of XOXO.
* [http://www.questionablecontent.net/view.php?comic=493 Questionable Content comic #493] - キャラクターのフェイは明らかに XOXO のファンです。


=== Promotional Materials / Schwag ===
=== 販売促進の素材/グッズ ===
* There is an entire XOXO clothing and accessories line.  [http://www.xoxo.com/home.php Buy XOXO stuff online].
* XOXO の服とアクセサリーが全てあります。[http://www.xoxo.com/home.php XOXO 関連の物をオンラインで買いましょう]


== 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:
この仕様は現在進行中です。更なる側面が議論され、理解され、文章になり、そして追加されるでしょう。XOXO 関連のブレインストーミングその他の探求を保存しておくべき文書が別ページにあります。


* See [[xoxo-brainstorming]] for additional thoughts on how to use XOXO for specific uses.
* ある用途に XOXO をどのように使うかについては、[[xoxo-brainstorming]] をご覧ください。
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].
* [http://www.technorati.com/cosmos/referer.html このページについて議論しているブログ]([http://technorati.com/search/http%3A%2F%2Fmicroformats.org%2Fwiki%2Fxoxo 英語ページ])もご覧ください。
** [http://blogxoxo.blogspot.com/ XOXO Blog]
** [http://blogxoxo.blogspot.com/ XOXO ブログ]


=== Q&A ===
=== Q&A ===
* If you have any questions about XOXO, check the [[xoxo-faq]], and if you don't find answers, add your questions!
* XOXO について疑問があれば [[xoxo-faq]] を確認してください。答えが見付からなければ質問を追加しましょう!
 
=== 問題 ===
* この仕様に関する問題は、別ページの [[xoxo-issues]] 文書に追加してください。


=== Issues ===
[[Category:XOXO]]
* Please add any issues with the specification to the separate [[xoxo-issues]] document.

Latest revision as of 16:35, 18 July 2020


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

仕様ドラフト 2004-10-01

編者

Tantek Celik(Technorati, Inc)

作者

著作権

This specification is (C) 2003-2024 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.

  • Tantek: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.
    • When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.

特許

この仕様はロイヤリティーフリーの特許方針に帰属するものです。特許方針に関しては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 でしょう。テキストによるアウトライン項目のラベル/タイトルも共通のプロパティと考えることができます。共通プロパティを幾つか挙げます。

  • text(テキスト)
  • description(説明)
  • url(よく xmlurl や htmlurl と言われたり固定リンクと呼ばれる)
  • title(タイトル)
  • type(タイプ;URL が指しているリソースの MIME タイプのヒント)

アウトライン項目 <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 ブロックの中にもっと便利で直接に表現できる特別なプロパティは少ししかありません。ほとんどの場合、上の共通プロパティの一覧から持ってこられます。次です。

  • text、url、title、type、rel(relationship;関係の省略形)

これを単に(前の例では "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

実世界での例

この節は参考情報です。

実世界に例がたくさんあります。ブログロールはほとんど全て XOXO としてパースできます。通常ハイパーリンクの項目一覧という順序なしリストであり、それは XOXO プロファイルの範囲内だからです。ここに例を並べてください。リストが長くなりすぎた時には専用ページに移動させることができます。

実装

この節は参考情報です。

サンプルコード

  • XOXO ファイルを読み書きするオープンソースのサンプルコードコードは xoxo-sample-code ページをご覧ください。
  • xoxo-compact-sample ページもご覧ください。極めて単純な XOXO のルック・アンド・フィールを変え、また、ネストされたリスト用の、compact 属性に従って回転する三角マークを持たせる CSS と JavaScript のソースがあります。

XOXO スキーマ

この節は参考情報です。

注:以下は古いため、任意のプロパティで XOXO 項目に注釈を付けるという <dl> の使い方を反映させたアップデートが必要です。

参考文献

規範的な参考文献

その他の参考文献

この節は参考情報です。

類似の試み

  • XHTML アウトライン - DannyAyers は 2003 年 10 月(Kevin と Tantek が XOXO を思い付くほんの一、二ヶ月前)に、アウトラインをXHTML の既存の基本的な要素でセマンティックに表現するため、簡単な XHTML プロファイルを使うことを独自に考え出しました。
  • XOW - それを編集可能にし、そこから RDF とブックマークリストを作ります(DannyAyers)
  • XBEL、または XML Bookmark Exchange Language(XML ブックマーク交換言語)。インターネットの URI を共有する XML のオープンスタンダードで、ブックマーク(Internet Explorer ではお気に入り)としても知られます。
  • OPML(Outline Processor Markup Language)。アウトライン用の XML フォーマット。

関係する読み物

関係のない読み物

販売促進の素材/グッズ

議論

この仕様は現在進行中です。更なる側面が議論され、理解され、文章になり、そして追加されるでしょう。XOXO 関連のブレインストーミングその他の探求を保存しておくべき文書が別ページにあります。

Q&A

  • XOXO について疑問があれば xoxo-faq を確認してください。答えが見付からなければ質問を追加しましょう!

問題

  • この仕様に関する問題は、別ページの xoxo-issues 文書に追加してください。