Re: [widgets] i18n <span> element VS unicode RLM/LRM

Hello Marcos,

many people from the i18n core WG are away this week, so there might be 
more replies later. This is a personal reply.

Marcos Caceres wrote:
> Hi, i18n-WG.
> In recent feedback we received from Addison Phillips regarding the
> Widgets 1.0: Packaging specification, he suggested that WebApps should
> add a <span>-like element to our Widget Configuration Document format
> (so to allow bidi text to be declared).

I think such an element would only be necessary within these elements: 
name, description, author, license. It seems that only these elements 
may contain human readable text.

> At our last F2F, WebApps discussed the proposition and we were left
> wondering if we can use unicode's RLM/LRM characters instead of a
> <span>-like element? Can i18n please advise us on this?

I will not repeat the arguments here, but the conclusion is that indeed 
an attribute for directionality information would be better than relying 
on Unicode control characters.

>  Not having the
> <span>-like element significantly simplifies our processing model. We
> don't want to sacrifice i18n for the sake of simplicity, so we really
> need your guidance again on how to move forward.

I personally would recommend you to use the <its:span> element in the 
ITS namespace. The element is defined at
This element gives you the "dir" attribute and various other attributes 
which are useful for esp. Widgets localization. See
See also the related "Best Practice" to define such an element for XML 
vocabularies at
To keep simplicity for Widgets 1.0, you could say in your conformance 
description that a Widgets processor has various options to deal with 
the <its:span> element (or more in general: the ITS namespace) and its 
attributes: ignore them or process them.

If you do not want to add markup from a specific namespace, you could or 
should IMO add extensibility points for people who need such markup. 
That is, change in the schema something like

description = element description {


description = element description {

and define "any" and a pattern "anyElement" as

any= (attribute * { text }
     | text
     | anyElement)*

anyElement =  element * { any }

Again the conformance for such markup can say: ignore it ("it" meaning: 
markup from other namespaces) or process it. I think you are basically 
saying that already at

Regards, Felix.

> Having read "Internationalization Best Practices: Handling
> Right-to-left Scripts in XHTML and HTML Content", we are aware that
> there are problems with text editors ATM, but we are hoping the tools
> will improve as Unicode support becomes more common place (or is that
> wishful thinking?).
> Kind regards,
> Marcos

Received on Thursday, 11 September 2008 00:33:19 UTC