xoxo-pt-br: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
No edit summary
 
m (Reverted edits by RodomOrace (Talk) to last version by Brian)
 
(6 intermediate revisions by 5 users not shown)
Line 111: Line 111:
* [http://diveintomark.org/public/2004/01/xo-flat.xo simple arquivo XO que pode ser embutido diretamente em uma página XHTML]
* [http://diveintomark.org/public/2004/01/xo-flat.xo simple arquivo XO que pode ser embutido diretamente em uma página 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-embeddable.xo XO with nested groups, also directly embeddedable in 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-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])
* [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://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])
* [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.
* [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.
** na tentativa de cumprir com príncipios semanticos o atributo "compact" para os elementos ol e ul é o que conduzem o estágio de exibição. Por scripting, estou definindo classes pertercentes ao elemento li para adicionar flexibilidade de estilização, através do CSS Gurus devee estar apto a substitur "li.expanded" no outlines.css com algum outro seletor CSS que diz "selecione um nó li que contém um nó ol com um atributo 'compact'"
** na tentativa de cumprir com príncipios semanticos o atributo "compact" para os elementos ol e ul é o que conduzem o estágio de exibição. Por scripting, estou definindo classes pertercentes ao elemento li para adicionar flexibilidade de estilização, através do CSS Gurus devee estar apto a substitur "li.expanded" no outlines.css com algum outro seletor CSS que diz "selecione um nó li que contém um nó ol com um atributo 'compact'"
Line 128: Line 128:


Em geral, propriedades em um item de esboço <code><nowiki><li></nowiki></code>  
Em geral, propriedades em um item de esboço <code><nowiki><li></nowiki></code>  
são representado por um lista de definição alojado. A rigor, é o primeiro <code><nowiki><dl></nowiki></code> dentro do <code><nowiki><li></nowiki></code> e antes de qualquer seguinte <code><nowiki><ol></nowiki></code>, <code><nowiki>&lt;ul&gt;</nowiki></code>, ou <code>&lt;li&gt;</code>, exemplo. aqui é um item "item 1" com uma propriedades descrição (os subpontos existem puramente como um ponto de referencia para um exemplo recente).
são representado por um lista de definição alojado. A rigor, é o primeiro <code><nowiki><dl></nowiki></code> dentro do <code><nowiki><li></nowiki></code> e antes de qualquer seguinte <code><nowiki><ol></nowiki></code>, <code>
 
<pre><nowiki>
<ol class='xoxo'>
  <li>item 1
    <dl>
      <dt>description</dt>
        <dd>This item represents the main point we're trying to make.</dd>
    </dl>
    <ol>
      <li>subpoint a</li>
      <li>subpoint b</li>
    </ol>
  </li>
</nowiki></pre>
 
=== Propriedades Especiais ===
Há um punhado de propriedades especial que estamos apto a representar mais diretamente e convenientemente com o XHTML semântico construíndo blocos que temos incluíndo, em vez de termos de uma lista de definição. Predominantemente levada da lista abaoxp de propriedades comum, são esses:
* text, url, title, type, e rel (abreviação de relationship/relação)
 
Se fossemos representá-los de forma simples como termos de definição (incluindo a propriedade "description" do exemplo anterior), eles poderiam se parecer com algo como isso:
 
Exemplo de causa de discussão apenas / não um exemplo XOXO canônico:
 
<pre><nowiki>
<ol class='xoxo'>
  <li>
    <dl>
      <dt>texto</dt>
        <dd>item 1</dd>
      <dt>description</dt>
        <dd> Esse item representa o ponto principal que tentamos fazer.</dd>
      <dt>url</dt>
        <dd>http://example.com/more.xoxo</dd>
      <dt>title</dt>
        <dd>title of item 1</dd>
      <dt>type</dt>
        <dd>text/xml</dd>
      <dt>rel</dt>
        <dd>help</dd>
    </dl>
  </li>
</nowiki></pre>
 
Embora, levando vantagem na semântica o elemento <code><a href></code>, estamos apto a simplificar dramaticamente os casos comum que utilizamos nessas propriedades. Da perspectiva de analisadores, isto aplica-se primeiro ao elemento <code><a href></code> diretamente dentro do <code><nowiki>&lt;li&gt;</nowiki></code>.
 
Exemplo XOXO Atual:
 
<pre><nowiki>
<ol class='xoxo'>
  <li><a href="http://example.com/more.xoxo"
        title="titulo do item 1"
        type="text/xml"
        rel="help">item 1</a>
<!-- veja como a propriedade "text" simplifica o conteúdo do elemento <a> -->
      <dl>
        <dt>descrição</dt>
          <dd>Esse item representa o ponto principal do que estamos fazendo.</dd>
      </dl>
  </li>
</nowiki></pre>
Qualquer outras propriedades são simplesmente adicionadas para a lista de definição na mesma forma como a propriedades "description"
 
== Publicação XOXO ==
 
XOXO pode ser publicado de duas formas, XHTML válido, e simples XML bem-formado.
 
=== XHTML Válido XOXO ===
 
Uma página XHTML válido XOXO é um documento XHTML completo.
 
<pre><nowiki>
<!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>Página XOXO</title>
</head>
<body>
<ol class="xoxo">
<li><a href="URL-one">TEXTO-um</a></li>
<li><a href="URL-two">TEXTO-dois</a></li>
...
</ol>
</body>
</html>
</nowiki></pre>
 
==== Content-Type ====
 
XHTML Válido XOXO DEVE ser servidor com esse cabeçalho Content-Type para a máxima compatibilidade de navegação.
 
<pre><nowiki>
Content-Type: text/html; charset=utf-8
</nowiki></pre>
 
Isso DEVE ser servidor com um desses cabeçalhos Content-Type
 
<pre><nowiki>
Content-Type: text/html; charset=utf-8
Content-Type: application/xhtml+xml
</nowiki></pre>
 
=== XML bem-formado XOXO ===
 
O elemento raiz da uma simples página XML bem-formado XOXO é ou um <code>ol</code> ou <code>ul</code> com nome de classes de "xoxo". Essa variante é ideal para distribuição e transclusion em páginas (X)HTML com [[rest/ahah|AHAH]].
 
<pre><nowiki>
<ol class="xoxo">
<li><a href="URL-one">TEXTO-um</a</li>
<li><a href="URL-two">TEXTO-dois</a></li>
...
</ol>
</nowiki></pre>
 
==== Content-Type ====
 
Simples XML bem-formado XOXO DEVE ser servidor com este cabeçalho Content-Type:
<pre><nowiki>
Content-Type: text/xml; charset=utf-8
</nowiki></pre>
 
Ele deve ser servido com um desses cabeçalhos Content-Type:
 
<pre><nowiki>
Content-Type: text/xml; charset=utf-8
Content-Type: application/xml
Content-Type: application/xml; charset=utf-8
</nowiki></pre>
 
== Exemplos ==
Esta seção é '''informativa'''.
 
Grande múmeros para documentar completamente. Quase cada blogroll na Web pode ser analisável como XOXO,
desde que eles são tipicamente uma lista não ordenada de lista de items de hyperlinks, que estão dentro do perfil XOXO.
 
== Implementações ==
Esta seção é '''informativa'''.
 
* [http://chneukirchen.org/blog/ Christian Neukirchen] foi [http://chneukirchen.org/blog/archive/2006/01/xoxo-rb-0-1-released.html escrito um xoxo.rb, um analisador XOXO e gerado por 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 é uma ótima demostração de ''arrastar e soltar'' de apresentação de listas XOXO com javascript e 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]
 
=== Exemplo de Código ===
 
* Veja a página [[xoxo-sample-code]] por exemplos de código aberto para ler e escrever arquivos XOXO.
* Veja também a página [[xoxo-compact-sample]] com fontes de CSS e JS que modificam a aparencia e sensação de algumas muitos XOXO planos ter virado triângulos para alojar lista que respeitam o atributo compact como dito.
 
== Esquemas XOXO ==
Esta seção é '''informativa'''.
 
Nota: estes podem estar desatualizados e requerer atualização para refletir o uso do &lt;dl&gt; para explicar itens XOXO com propriedades arbitrárias.
* [[DTDs]]
* [http://www.nidelven-it.no/projects/XOXO/xoxo-0.1.tgz Schemas (Relax NG and DTDs)]
 
 
== Referencias ==
=== Normative References ===
* [http://www.w3.org/TR/xhtml1 XHTML 1.0]
* [http://www.w3.org/TR/xhtml-modularization XHTMLMOD]
* [http://gmpg.org/xmdp/ XMDP]
* [http://gmpg.org/xfn/ XFN]
 
=== Referencias Informativa ===
This section is '''informative'''.
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]
* [[VoteLinks]]
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://opml.scripting.com/spec OPML 1.0]
* Contributed from http://developers.technorati.com/wiki/XOXO
 
=== Trabalho Similar ===
* [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://semtext.org/2004-02/ XOW] - making them editable, producing RDF and bookmark lists from them (DannyAyers)
 
=== Leitura Vinculado ===
* [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://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]
 
=== Leitura Desvinculado ===
* [http://www.questionablecontent.net/view.php?comic=493 Questionable Content comic #493] - apparently the Faye character is a fan of XOXO.
 
=== Materiais Promocionais ===
* Há uma completa linha de roupas e acessórios XOXO em. [http://www.xoxo.com/home.php Compre materiais XOXO online].
 
== Discussões ==
Essa especificação é um trabalho em progresso. Como aspectos adicionais estão discutidos, compreendidos e escritos, eles serão adicionados. Há um documento separado que estamos mantendo nossas idéias eoutras relações exploratórias em XOXO:
 
* Veja [[xoxo-brainstorming]] para pensamentos adicionais de como usar XOXO para usos especificos.
* Veja também [http://www.technorati.com/cosmos/referer.html os blogs de discussão nessa página].
** [http://blogxoxo.blogspot.com/ XOXO Blog]
 
=== Perguntas&Respostas ===
* Se você tem qualquer dúvida sobre XOXO, verifique nosso [[xoxo-faq]], e se você não encontrar respostas, adicione-a.!
 
=== Assuntos ===
* Por favor, adicione qualquer assunto com a especificação no documento separado [[xoxo-issues]] (em inglês).

Latest revision as of 19:30, 3 January 2009

XOXO 1.0: Extensible Open XHTML Outlines

XOXO é um formato de esboço simples, aberto escrito em padrão XHTML e adequado para ser embutido em (X)HTML, Atom, RSS, e XML arbitrário. XOXO é um dos muitos microformatos de padrões aberto.

Draft Specification 2004-10-01

Editor

Tantek Çelik, Technorati, Inc

Autores

Copyright

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.

Patentes

This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.

Prefácio

Quando estávamos discutindo Attention.xml, Tantek apontou que XHTML tem tudo de necessário para expressar semanticamente esboços e subscrição em blogroll-derivados em um formato XML que são ambos renderizável interativamente por navegadores e analisável por motores XML rígidas (strict). Esta página está aqui para discutir essa idéia.

Nome

XOXO significa eXtensible Open XHTML Outlines, e é pronunciado variadamente como 'ecks oh ecks oh', 'zho-zho' ou 'sho-sho'.

Sumário

Essa especificação define um novo tipo de documento XHTML que é baseada sob o módulo de estrutura e módulos definido em Modularização de XHTML

XOXO é um dos muitos microformatos. Essa especificação define um novo tipo de documento XHTML que é baseada sob o módulo de estrutura e módulos definido em Modularização de XHTML (XHTMLMOD). O propósito do tipo de documento XOXO é para servir como base para esboço de XHTML amigável para processamento por motores XML e para fácil renderização interativa por browsers.

O Tipo de Documento XOXO

O tipo de documento XOXO é composto dos seguintes módulos XHTML. Os elementos, atributos e modelos de conteúdo mínimos associado com estes módulos são definidos pela "Modularização de XHTML" (XHTMLMOD). Os elementos que estão listados aqui são para propósitos de informação, mas as definições de "Modularização de XHTML" devem ser consideradas definitivas. Na versão online desse documento, os módulos online na lista abaixo fazem ligação para definição dos módulos dentro da atual versão de "Modularização de XHTML"

Structure Module

 body, head, html, title

Hypertext Module

 a

List Module

 dl, dt, dd, ol, ul, li

Metainformation Module

 meta

Stylesheet Module

 style element

Style Attribute Module

 style attribute

Link Module

 link

Legacy Module

 Attribute compact on ol and ul

O Perfil XOXO

Veja xoxo-profile para o perfil XMDP de XOXO que define os valores XOXO para o atributo class.

Simples Fragmento XOXO

Marcação

<ol class='xoxo'>
  <li>Assunto 1
    <ol>
        <li>subponto a</li>
        <li>subponto b</li>
    </ol>
  </li>
  <li>Assunto 2
    <ol compact="compact">
        <li>subponto c</li>
        <li>subponto d</li>
    </ol>
  </li>
  <li>Assunto 3
    <ol>
        <li>subponto e</li>
    </ol>
  </li>
</ol>

Exemplo de Renderização

   1. Assunto 1
      a. subponto a
      b. subponto b
   2. Assunto 2
   3. Assunto 3
      a. subponto e

Uso do atributo 'compact'

Note que o uso do atributo 'compact' indica que os subpontos de título de "Assunto 2" não estão em um estágio expandido. A ausência do atributo 'compact' indica que outros títulos estão em um estágio expandido.

Regras de Estilo Padrão para o Exemplo da Renderização

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


Mais Exemplos Simples

MarkP fez um conjunto de exemplos que demostra ambos a simplicidade de marcação e a riquesa de apresentação que é possível:

Propriedades de Itens Esboço

Esboços tipicamente consiste de uma hiearquia de pontos e subpontos. Cada um desses pontos (item do esboço) si próprio pode ter algumas propriedades (como atributos ou metadata) que são necessários para ser representado. Talvez a mais comum propriedade adicional em itens de esboço na prática é a URL como demostrado nos exemplos de Mark Pilgrim acima

Até mesmo o texto label/title de um item de esboço pode ser considerado uma propriedade comum. Algumas tais propriedades comum:

  • text /texto
  • description /descrição
  • url (frequentemente chamado de xmlurl ou htmlurl; as veses de permalink)
  • title /título
  • type /tipo (hint of the MIME type of the resource indicated by the URL)

Em geral, propriedades em um item de esboço <li> são representado por um lista de definição alojado. A rigor, é o primeiro <dl> dentro do <li> e antes de qualquer seguinte <ol>,