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; } ---

