James M Snell wrote: > The guidelines state, very clearly, that the formatting > characters should not be used when markup can be used > instead. The LRM and RLM characters do not have markup > alternatives and do not carry the same risks as the other > formatting characters. This recommendation is very > consistent, and is upheld by the Atom bidi draft, which > provides a markup alternative to using the formatting characters. > > Furthermore, the guidelines also state a best practice to > "[u]se bidi markup only when necessary.", and gives the
How about a compromise? You don't like formatting codes, but they can't completely go away. I don't like the inheritance/cascading of directionality between atom elements because I think it is easy to get wrong. How about this: * Don't allow @dir on atom:feed. This makes it easier to copy entries to/from a feed without requiring rewriting. It also makes digital signatures on entries easier to deal with. * Don't allow @dir on atom:entry. Again, this reduces the likelihood that a processor will screw up the inheritance of directionality overrides. It also means that different users can more easily edit different pieces of metadata without clobbering each other's directionality overrides. * Don't allow @dir on atom:content or text constructs. XHTML should be used instead, and the @dir should appear on the xhtml:div element of the text construct. This eliminates the other major case where a process will screw of the inheritance of directionality overrides, and increases the likelihood that processors will preserve the directionality information since it will be in the XHTML and not in the Atom markup. * When any Unicode formatting characters are encountered, they must override the directionality in @dir. However, using formatting characters is "NOT RECOMMENDED." * Future language-sensitive extensions to Atom are strongly "RECOMMENDED" to use text constructs for all language-sensitive text. * Punt on Ruby text for now. > "[o]nce you have established the appropriate directionality > for the html element you will only need to apply bidi markup > to a block element if you want that element's directionality > to be different." By moving the dir as far up in the > document tree as possible "simplif[ies] the document and > reduce[s] bandwidth requirements." This recommendation is good for HTML because a HMTL document is usually not processed as a collection of individual parts, but instead as an indivisible document. However, it is counter-productive for Atom because Atom feeds ARE collections of individual documents. - Brian
