Issue 125329 - [SVG] The selector * is not read
Summary: [SVG] The selector * is not read
Status: REOPENED
Alias: None
Product: Draw
Classification: Application
Component: formatting (show other issues)
Version: 4.2.0-dev
Hardware: PC Windows 7
: P3 Normal (vote)
Target Milestone: 4.2.0
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-30 17:16 UTC by Regina Henschel
Modified: 2017-05-20 10:45 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
example with * selector (508 bytes, image/svg+xml)
2014-07-30 17:16 UTC, Regina Henschel
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Regina Henschel 2014-07-30 17:16:21 UTC
Created attachment 83752 [details]
example with * selector

Insert attached graphic into a Draw document. Compare it with opening in a browser.
The rectangle belongs to the subjects of the * selector. Therefore the declarations of the rule must be considered. That leads to fill in silver instead of default black, and stroke-width 1 from css instead of 10 from non-css.
Comment 1 Armin Le Grand 2014-07-31 11:12:38 UTC
Grepping to keep in focus
Comment 2 Armin Le Grand 2014-10-09 12:09:04 UTC
Took a look. Regina, is it correct that in this case the '*' selector is:
- active for all elements, thus it is used for 'svg' and both 'rect's
- only one Css '*' selector is possible per file (?)
Comment 3 SVN Robot 2014-10-09 15:03:56 UTC
"alg" committed SVN revision 1630497 into trunk:
i125329 Take care of Css selector '*'
Comment 4 Armin Le Grand 2014-10-09 15:04:53 UTC
Okay, added code to have the * selector added to the styles chain as last element if available. This makes the import look as in other browsers.
Comment 5 Regina Henschel 2014-10-09 15:16:09 UTC
A universal selector * matches every element in the document tree.

A * can be followed by attribute selectors or ID-selectors (or -not yet implemented in AOO-  pseudo-classes). In these cases the * my be omitted.

So
* matches all.
*.myclass is equivalent to .myclass
*#myId is equivalent to #myID

http://www.w3.org/TR/CSS21/selector.html#universal-selector

(In reply to Armin Le Grand from comment #2)
> Took a look. Regina, is it correct that in this case the '*' selector is:
> - active for all elements, thus it is used for 'svg' and both 'rect's

Yes, both rect elements match the * selector, but the first one gets its actual stroke and fill colors from the ID-selector rule, because that is more specific. The second rect element gets its stroke-width from the * selector, because css has precedence over svg attribute.

(In reply to Armin Le Grand from comment #2)
> Took a look. Regina, is it correct that in this case the '*' selector is:
> - only one Css '*' selector is possible per file (?)

There are several * selectors per file possible, same as for other selectors.
Comment 6 Armin Le Grand 2014-10-09 15:50:16 UTC
Hi Regina, thanks so far. I will also need to add support for

*.myclass is equivalent to .myclass
*#myId is equivalent to #myID

or in short: When no '*' alone, delete it.

> There are several * selectors per file possible, same as for other selectors.

Should this not be only one standalone '*' one? Which one will win when there are several ones? Or was this sentence about e.g. several *.myclass or similar?
Comment 7 Armin Le Grand 2014-10-10 16:54:09 UTC
More to be done, reopening
Comment 8 Marcus 2017-05-20 10:45:35 UTC
Reset the assignee to the default "issues@openoffice.apache.org".