<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=QejGxi</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=QejGxi"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/QejGxi"/>
	<updated>2026-05-25T15:25:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=xoxo&amp;diff=15935</id>
		<title>xoxo</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=xoxo&amp;diff=15935"/>
		<updated>2007-04-22T21:50:57Z</updated>

		<summary type="html">&lt;p&gt;QejGxi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt; XOXO 1.0: Extensible Open XHTML Outlines &amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XOXO is a simple, open outline format written in standard XHTML and suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. XOXO is one of several [[microformats|microformat]] open standards. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Draft Specification 2004-10-01 ==&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
[http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]&lt;br /&gt;
&lt;br /&gt;
=== Authors ===&lt;br /&gt;
* [http://epeus.blogspot.com/ Kevin Marks], [http://technorati.com Technorati, Inc]&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc] (formerly of [http://microsoft.com/ Microsoft Corporation])&lt;br /&gt;
* [http://diveintomark.org/ Mark Pilgrim], [http://ibm.com IBM]&lt;br /&gt;
* [http://www.blogologue.com/ Morten W. Petersen]&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2003}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Preamble ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Name ===&lt;br /&gt;
XOXO stands for eXtensible Open XHTML Outlines, and is pronounced variously as 'ecks oh ecks oh', 'zho-zho', or 'sho-sho'.&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== The XOXO Document Type ==&lt;br /&gt;
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 &amp;quot;Modularization of XHTML&amp;quot; ([http://www.w3.org/TR/xhtml-modularization XHTMLMOD]). The elements are listed here for information purposes, but the definitions in &amp;quot;Modularization of XHTML&amp;quot; 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 &amp;quot;Modularization of XHTML&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_structuremodule Structure Module]&lt;br /&gt;
  body, head, html, title&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_hypertextmodule Hypertext Module]&lt;br /&gt;
  a&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_listmodule List Module]&lt;br /&gt;
  dl, dt, dd, ol, ul, li&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule Metainformation Module]&lt;br /&gt;
  meta&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule Stylesheet Module]&lt;br /&gt;
  style element&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule Style Attribute Module]&lt;br /&gt;
  style attribute&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule Link Module]&lt;br /&gt;
  link&lt;br /&gt;
[http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_legacymodule Legacy Module]&lt;br /&gt;
  Attribute compact on ol and ul&lt;br /&gt;
&lt;br /&gt;
=== The XOXO Profile ===&lt;br /&gt;
&lt;br /&gt;
See [[xoxo-profile]] for the [http://gmpg.org/xmdp XMDP] profile of XOXO which defines the XOXO values for the class attribute.&lt;br /&gt;
&lt;br /&gt;
== Simple XOXO Fragment ==&lt;br /&gt;
&lt;br /&gt;
=== Markup ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;ol class='xoxo'&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Subject 1&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;subpoint a&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;subpoint b&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Subject 2&lt;br /&gt;
    &amp;lt;ol compact=&amp;quot;compact&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;subpoint c&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;subpoint d&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Subject 3&lt;br /&gt;
    &amp;lt;ol&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;subpoint e&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sample Rendering ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
   1. Subject 1&lt;br /&gt;
      a. subpoint a&lt;br /&gt;
      b. subpoint b&lt;br /&gt;
   2. Subject 2&lt;br /&gt;
   3. Subject 3&lt;br /&gt;
      a. subpoint e&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Usage of 'compact' attribute ===&lt;br /&gt;
&lt;br /&gt;
Note the use of the 'compact' attribute to indicate that the subpoints of the headline &amp;quot;Subject 2&amp;quot; are not in an expanded state.  The absence of the 'compact' attribute elsewhere indicates that the other headlines are in an expanded state.&lt;br /&gt;
&lt;br /&gt;
=== Possible Default Style Rules for Sample Rendering ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ol.xoxo { list-style:decimal; }&lt;br /&gt;
ol.xoxo ol { list-style:lower-latin; }&lt;br /&gt;
ol[compact=&amp;quot;compact&amp;quot;] { display:none; }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Simple Examples ==&lt;br /&gt;
&lt;br /&gt;
MarkP has a set of examples that demonstrates both the simplicity of the markup and the presentational richness that is possible:&lt;br /&gt;
&lt;br /&gt;
* [http://diveintomark.org/public/2004/01/xo-flat.xo simple XO file that can be embedded directly into an XHTML page]&lt;br /&gt;
* [http://diveintomark.org/public/2004/01/xo-embeddable.xo XO with nested groups, also directly embeddedable in XHTML]&lt;br /&gt;
* [http://diveintomark.org/public/2004/01/xo-standalone.xo XO as a standalone XHTML page] ([http://validator.w3.org/check?uri=http://diveintomark.org/public/2004/01/xo-standalone.xo valid XHTML])&lt;br /&gt;
* [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://diveintomark.org/public/2004/01/xo-with-style.xo also valid XHTML])&lt;br /&gt;
* [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.&lt;br /&gt;
** in trying to comply with semantic principles the &amp;quot;compact&amp;quot; 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 &amp;quot;li.expanded&amp;quot; in outlines.css with some other CSS selector that says &amp;quot;select an li node that contains an ol node with a 'compact' attribute set&amp;quot;.&lt;br /&gt;
*** The CSS selector for &amp;quot;an li node that contains an ol node with a 'compact' attribute set&amp;quot; would be 'li ol[compact=&amp;quot;compact&amp;quot;]'.&lt;br /&gt;
&lt;br /&gt;
== Properties of Outline Items ==&lt;br /&gt;
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:&lt;br /&gt;
* text&lt;br /&gt;
* description&lt;br /&gt;
* url (often called xmlurl or htmlurl; sometimes called permalink)&lt;br /&gt;
* title&lt;br /&gt;
* type (hint of the MIME type of the resource indicated by the URL)&lt;br /&gt;
&lt;br /&gt;
In general, properties on an outline item &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; are represented by a nested definition list &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.  Strictly speaking, it is the first &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; inside the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and before any following &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;ol&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&lt;/div&gt;</summary>
		<author><name>QejGxi</name></author>
	</entry>
</feed>