Don Day wrote:
> 
> The document architecture I am testing with XXE currently uses DTDs (and
> soon will use Schemas) to associate a hardcoded (but not fixed) CDATA class
> value with each XML element.  I can see these implied values in the
> attribute editor window--they appear to be present for the editor to use
> for class-based CSS styling.  But I find that I can only get the editor to
> trigger CSS rules for attribute values that have been literally typed in,
> not for the values implied by the DTDs.  I do not know of any editor that
> provides such support.  >>Would it be reasonable to add implied-value
> triggering capability to XXE?

This is not a requirement of CSS2 (and has not been implemented because
it would have slowed down rule matching). See
http://www.w3.org/TR/1998/REC-CSS2-19980512 "5.8.2 Default attribute
values in DTDs".




> Also, I find that I am unable to make use of the substring class match
> capability of CSS.  Given an arbitrary element having an attribute class="
> fred sam irving ", this selector should trigger on that element:
> 
> *[class~="fred"] { }
> 
> A hit is based on exact match of space-delimited tokens.  Some XML
> browsers, particularly Mozilla and Opera, seem to handle this form of CSS
> selector rule correctly.  As it is in XXE, nothing happens, for either a
> literal or implied class value of " fred sam irving ".  >>Is substring
> class matching beyond any planned style support for XXE?

CSS2 selectors are fully supported including "[attribute~=string]".
(This, too, is described in the Power User's Guide.)

For example: see the bundled xhtml.css style sheet where you can find:

---
ol > li:before {
    display: marker;
    content: counter(n, decimal);
    font-weight: bold;
}
ol[style~=lower-alpha] > li:before {
    display: marker;
    content: counter(n, lower-alpha);
}
ol[style~=upper-alpha] > li:before {
    display: marker;
    content: counter(n, upper-alpha);
}
ol[style~=lower-roman] > li:before {
    display: marker;
    content: counter(n, lower-roman);
}
ol[style~=upper-roman] > li:before {
    display: marker;
    content: counter(n, upper-roman);
}
---

If you have found a bug, I wasn't able to reproduce it. Please send me a
XML document and associated style sheet for which the problem occurs.

Reply via email to