One document matched: draft-snell-atompub-bidi-05.xml


<?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'>
    <!ENTITY html4 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-html401-19991224.xml'>
]>

<rfc category="std" ipr="full3978" docName="draft-snell-atompub-bidi-05.txt" updates="4287" >
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="yes"?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc compact="yes"?>
<front>
<title abbrev="Atom Bidi">Atom Bidirectional Attribute</title>
<author initials="J.M." surname="Snell" fullname="James M Snell">
<organization />
<address>
<email>jasnell@gmail.com</email>
<uri>http://www.snellspace.com</uri>
</address>
</author>
<date month="October" year="2007" />
<area>General</area>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>Bidi</keyword>
<keyword>Direction</keyword>

<abstract><t>This document adds a new attribute to the Atom Syndication Format 
used to indicate the base directionality of directionally-neutral characters.</t></abstract>
</front>
<middle>

<section title="Introduction">

<t>This document updates the Atom Syndication Format <xref target="RFC4287" />
by adding a new "dir" attribute 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 
Atom Syndication Format <xref target="RFC4287" /> is:</t>
 
<figure><artwork><![CDATA[http://www.w3.org/2005/Atom]]></artwork></figure>

</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>The Atom Syndication Format <xref target="RFC4287" /> is specified using 
terms from the XML Infoset <xref target="W3C.REC-xml-infoset-20040204"/>.
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>Portions 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 "dir" Attribute">

<t>The "dir" attribute specifies the base direction of directionally-neutral 
text <xref target="ISO10646"/> in an Atom document.  Possible values for the 
attribute are "ltr" and "rtl" indicating "left-to-right" and "right-to-left" 
respectively, or an empty string indicating that no base-direction is specified. 
If a dir attribute is not provided, the value MUST be assumed to be an empty 
string. The attribute can appear on any element in an Atom document.</t>

<figure><artwork><![CDATA[
  atomCommonAttributes =
    attribute xml:base { atomUri }?,
    attribute xml:lang { atomLanguageTag }?,
    attribute dir { "ltr" | "rtl" | "" }?,
    undefinedAttribute*
]]></artwork></figure>

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

<t>Values other than "ltr", "rtl" and "" MUST be ignored and processed as if 
the dir attribute was not present; Atom processors MUST NOT stop processing or 
signal an error. The value of the attribute is not case-sensitive.</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" dir="rtl">
    <title>ٹٺٻ</title>
    ...
  </feed>
]]></artwork></figure>

<t>If an Atom document contains bidirectional text, the Unicode Bidirectional 
Algorithm <xref target="UAX9"/> SHOULD 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 
or override with respect to the bidirectional algorithm. Consuming applications that render 
bidirectional text are responsible for determining the appropriate level of 
embedding. If the dir attribute value is "rtl", Atom processors that display affected 
text MAY choose to right-align that text as per the rules described in Section 
8 of <xref target="W3C.REC-html401-19991224"/>.</t>

<t>When Atom Text Constructs or the atom:content elements contain bidirectional 
text and the type attribute value is either "html" or "xhtml", the bidirectional 
markup mechanisms specific to each format SHOULD be used.  The value of the "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" dir="rtl">
    ...
    <title type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p dir="rtl">ٹٺٻ</p>
      </div>
    </title>
    ...
  </feed>
]]></artwork></figure>

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

<section title="Direction Guessing">

<t>In Atom documents that do not contain a "dir" attribute, it is possible to apply
heuristics to guess the base directionality of text in the document.  Such heuristics
can take into consideration the in-scope language context established by the use
of the xml:lang attribute or an analysis of the directional properties of the 
Unicode characters used within the text.  Such guessing algorithms can 
produce reasonably acceptable results in many cases but cannot be guaranteed to 
produce correct results in every case.  For this reason, explicit determination 
of text direction using the "dir" attribute is preferred over any guessing
algorithm.</t>

<t>For compatibility with existing Atom documents that rely on direction guessing, 
user agents MAY perform direction guessing in documents that do not contain a 
"dir" attribute but they SHOULD NOT do so when an in-scope "dir" attribute is provided.</t>

</section>

</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="ISO10646">
  <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="UAX9">
  <front>
    <title>Unicode Standard Annex #9: The Bidirectional Algorithm</title>
    <author initials="M" surname="Davis" fullname="M. Davis">
      <organization>The Unicode Consortium</organization>
    </author>
    <date month="September" year="2006" />
  </front>
</reference>
</references>
<references title="Informative References">
&html4;
<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>The author gratefully acknowledges the feedback from the Atom Publishing
Format and Protocol Working Group.</t>
</section>
</back>
</rfc>

PAFTECH AB 2003-20262026-04-24 05:40:36