The workaround worked fine. As always Hussein, thanks for your prompt, comprehensive and accurate answer.
Merci beaucoup ! On 3/30/07, Hussein Shafie <hussein at xmlmind.com> wrote: > Fabian Mandelbaum wrote: > > I've removed the space between the element name and the [ declaring > > the attribute and got the same behaviour, the problem seems to be > > somewhere else. > > > > It looks like the elements "below" the ones declared on the CSS do not > > inherit the line-through decoration. > > > > XML excerpt: > > > > <section revisionflag="deleted"> > > <title>The Title</title> > > <para>Some content</para> > > </section> > > > > I expect that "The Title" and "Some content" are striken-through when > > I set the revisionflag="deleted" on its containing element, here the > > section, however they are not. If I go and set the > > revisionflag="deleted" on, say the para, then "Some content" is > > striken-through. > > > > So, the CSS rule is not being inherited by the children of elements > > with revisionflag="deleted". Is this expected behaviour? (I cannot > > anticipate in advance all possible children of elements with > > revisionflag="deleted", so it's not practicable to declare CSS rules > > for them all...) > > > > OK, there is an issue here. > > The text-decoration CSS property is *not* inherited stricto sensu. It is > more complex than that. See > http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-decoration > > XXE implementation is ``semi-conformant'': > > * If you add "text-decoration: line-through;" to a block, this property > is not inherited by contained text. > > * If you add "text-decoration: line-through;" to an inline, it is > inherited by contained text, an this, whatever the child element which > contains this text. For example, all the text contained in child > elements of an XHTML <a> indeed is underlined. > > I'm affraid you must consider this as being a *limitation* of XXE. > > The work around is to use something like: > --- > *[revisionflag="deleted"] * { > text-decoration: line-through; > } > --- > Not very efficient but it works. > > An efficient alternative is to use another kind of decoration: XHTML > example: > > --- > ins { > display: block; > border-width: 2px; > border-style: solid; > border-color: transparent blue transparent transparent; > padding-right: 5px; > } > > del { > display: block; > color: gray; > border-width: 2px; > border-style: solid; > border-color: transparent gray transparent transparent; > padding-right: 5px; > } > --- > -- Fabian Mandelbaum IS Engineer

