Robert Sayre wrote:
> [snip]
> It'll work fine with everythign
>

Would you mind sharing some details? Is there code already in the
mozilla CVS I can go look at?  I have some code already written that I'd
like to get checked into Abdera soon.  I'd prefer that it match what
other implementors are doing or are planning to do.

I personally don't mind who writes up the spec or whether it's done as
an update to 4287 or not.  Nor do I really care whose name ends up on
the draft.  Heck, we could probably even collaborate on the draft.  Take
what I've started with, make whatever changes you feel are necessary and
add your name to the author list.  I've attached the XML.

- James
<?xml version="1.0"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
    <!ENTITY rfc4287 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4287.xml'>
    <!ENTITY xmlnames PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-names-19990114.xml'>
    <!ENTITY infoset PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-infoset-20040204.xml'>
]>

<rfc category="std" ipr="full3978" docName="draft-snell-atompub-bidi-00.txt">
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc compact="yes"?>
<front>
<title abbrev="Atom Bidi">Atom Bidirectional Extension</title>
<author initials="J.M." surname="Snell" fullname="James M Snell">
<organization />
<address>
<email>[EMAIL PROTECTED]</email>
<uri>http://www.snellspace.com</uri>
</address>
</author>
<date month="September" year="2006" />
<area>General</area>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>IRI</keyword>
<keyword>URI</keyword>
<keyword>Template</keyword>

<abstract><t>This document describes an extension to the Atom format
that can be used to define the base directionality of directionally-neutral characters 
contained within an Atom document.</t></abstract>
</front>
<middle>

<section title="Introduction">

<t>This document describes an extension to the Atom format <xref target="RFC4287" />
that can be used to define the base directionality of directionally-neutral characters 
contained within an Atom document.</t>

<section title="Namespace">

<t>The XML Namespaces URI <xref target="W3C.REC-xml-names-19990114" /> for the 
XML elements and attributes described in this specification is</t>
 
<figure><artwork><![CDATA[http://purl.org/atompub/bidi]]></artwork></figure>

<t>In this document, the namespace prefix "u:" is used for the above 
Namespace URI. Note that the choice of namespace prefix is arbitrary
and not semantically significant.</t>

</section>

<section title="Notational Conventions">

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", 
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be 
interpreted as described in BCP 14, <xref target="RFC2119" />.</t>

<t>This extension is, like the Atom Syndication Format <xref target="RFC4287" /> itself,
specified using terms from the XML Infoset <xref target="W3C.REC-xml-infoset-20040204"/>.
However, this specification uses a shorthand form for two commons terms:  
The phrase "Information Item" is omitted when naming Element and Attribute 
Information Items. Therefore, when this specification uses the term "element," 
it is referring to an Element Information Item in Infoset terms.  Likewise,
when it uses the term "attribute," it is referring to an Attribute Information Item.</t>

<t>Some sections of this specification are illustrated with fragments of a 
non-normative RELAX NG Compact schema <xref target="RELAXNG" />. However, the 
text of this specification provides the sole definition of conformance.</t>

</section>

</section>

<section anchor="dir" title="The &quot;u:dir&quot; Attribute">

<t>The "u:dir" attribute specifies the base direction of directionally-neutral 
text <xref target="UNICODE"/>.  Possible values for the attribute are "ltr" and "rtl" indicating 
"left-to-right" and "right-to-left" respectively, "lro" and "rlo" indicating 
explicit "left-to-right" and "right-to-left" overrides, or an empty string 
indicating that no base-direction is specified.  If the "u:dir" attribute is not 
specified, the value is assumed to be an empty string. The attribute can appear 
anywhere in an Atom document, except where it is explicitly forbidden.</t>

<figure><artwork><![CDATA[
  dir = attribute u:dir { "ltr" | "rtl" | "lro" | "rlo" | "" }
]]></artwork></figure>

<t>The direction specified by "u:dir" applies only to elements and attributes 
whose values are specified as being "Language-Sensitive" as defined by Section 2
of <xref target="RFC4287" />.  The attribute is inherited by descendent elements 
and may be overridden.</t>

<t>Example atom:feed with right-to-left directionality</t>

<figure><artwork><![CDATA[
  <?xml version="1.0" ?>
  <feed xmlns="http://www.w3.org/2005/Atom";
        xmlns:u="http://purl.org/atompub/bidi"; u:dir="rtl">
    <title>&#x0679&#x067A;&#x067B;</title>
    ...
  </feed>
]]></artwork></figure>

<t>If an Atom document contains any right-to-left characters, the Unicode 
Bidirectional Algorithm <xref target="UNI9"/> MUST be used to render that text. Because 
consumers of Atom documents vary broadly in the way they display text, the 
"ltr" and "rtl" values do not necessarily open an additional level of embedding 
with respect to the bidirectional algorithm. Consuming applications that render 
bidirectional text are responsible for determining the appropriate level of 
embedding.</t> 

<t>The "lro" and "rlo" values override the inherent directionality of characters 
as defined by <xref target="UNICODE"/>.  When used, affected text MUST be rendered as if preceded 
by either Unicode character U+202D (left-to-right override) or U+202E (right-to-left
override) and followed by U+202C (pop directional formatting).</t>

<t>When Atom Text Constructs or the atom:content elements contain bidirectional 
text and the type attribute is set to either "html" or "xhtml", the bidirectional 
markup mechanisms specific to each format SHOULD be used.  The value of the "u:dir"
attribute does define the base directionality of Language-Sensitive text within 
Text Constructs and atom:content elements regardless of the value of the type 
attribute.</t>

<t>Example atom:feed with bidirectional XHTML:</t>

<figure><artwork><![CDATA[
  <?xml version="1.0" ?>
  <feed xmlns="http://www.w3.org/2005/Atom"; 
        xmlns:u="http://purl.org/atompub/bidi"; u:dir="rtl">
    <title type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml";>
        <p dir="rtl">&#x0679&#x067A;&#x067B;</p>
      </div>
    </title>
    ...
  </feed>
]]></artwork></figure>

<t>The Unicode bidirectional control characters MAY also be used within attributes 
and element values to indicate the directionality of text.  Implementers are 
reminded that unexpected results could occur when using both the "u:dir" attribute
and the Unicode control characters within a single document.</t>

</section>

<section anchor="security" title="Security Considerations">

<t>The security considerations discussed in <xref target="RFC4287" /> Section 8 apply.</t>

</section>

<section title="IANA Considerations">

<t>No IANA actions are required by this document.</t>

</section>

</middle>
<back>
<references title="Normative References">
  &rfc2119;
  &rfc4287;
  &xmlnames;
  &infoset;
<reference 
  anchor="UNICODE">
  <front>
    <title>ISO/IEC 10646:2003: Information Technology - Universal Multiple-Octet Coded Character Set (UCS)</title>
    <author>
      <organization>International Organization for Standardization</organization>
    </author>
    <date month="December" year="2003" />
  </front>
</reference>
<reference 
  anchor="UNI9">
  <front>
    <title>The Bidirectional Algorithm</title>
    <author initials="M" surname="Davis" fullname="M. Davis">
      <organization>International Organization for Standardization</organization>
    </author>
    <date month="March" year="2004" />
  </front>
</reference>
</references>
<references title="Informative References">
<reference 
  anchor="RELAXNG" 
  target="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html";>
  <front>
    <title>RELAX NG Compact Syntax</title>
    <author initials="J" surname="Clark" fullname="James Clark">
      <organization />
    </author>
    <date month="December" year="2001" />
  </front>
</reference>
</references>
<section title="Acknowledgements">
<t>TBD</t>
</section>
</back>
</rfc>

Reply via email to