xoxo-pt-br
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
Autores
- Kevin Marks, Technorati, Inc
- Tantek Çelik, Technorati, Inc (formerly of Microsoft Corporation)
- Mark Pilgrim, IBM
- Morten W. Petersen
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"
body, head, html, title
a
dl, dt, dd, ol, ul, li
meta
style element
style attribute
link
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:
- simple arquivo XO que pode ser embutido diretamente em uma página XHTML
- XO with nested groups, also directly embeddedable in XHTML
- XO as a standalone XHTML page (valid XHTML)
- XO as a standalone XHTML page, styled with CSS (also valid XHTML)
- Chris Holland Outline Helper: tweaked one of above samples, yanked CSS for simplicity, added reference to outlines.css and 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'"
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>
,