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-2026 | 2026-04-24 05:40:36 |