goetas / fo-simil-css
Installs: 10 177
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- sabberworm/php-css-parser: ^1.0|^7.0|^8.0
- symfony/css-selector: ^2.1|^3.0|^4.0
README
============
Install
composer require goetas/fo-simil-css
Simil CSS for XSL FO. Uses XPath instead of CSS selectors.
CSS Stylesheet example
$xml = new DOMDocument("1.0", "UTF-8"); $xml->load("file.fo"); $css = new FoSimilCss(); $css->applyCss($xml, "style.css");
@namespace fo "http://www.w3.org/1999/XSL/Format"; /* element selector */ fo|block { border: solid 0.5pt black; } /* @id selector */ #user { width: 100%; } /* @role selector */ .user { width: 100%; }
It supports all selector types supported by Symfony\CssSelector
XML Stylesheet example
$xml = new DOMDocument("1.0", "UTF-8"); $xml->load("file.fo"); $css = new FoSimilCss(); $css->applyXmlCss($xml, "style.xml");
<css:css xmlns:css="http://goetas.com/fo/css" xmlns:fo="http://www.w3.org/1999/XSL/Format" > <!-- elements --> <css:rule match="fo|flow" font-family="sans-serif" font-size="10pt" /> <!-- id selector --> <css:rule match="#header" font-size="xx-small" /> <!-- role selector (like @class) --> <css:rule match=".header" font-size="xx-small" /> <!-- more complicated rule--> <css:rule match="fo|table#data > fo|table-header.myclass > * > fo|table-cell > fo|block:last-child" border-bottom="1pt solid red" font-weight="bold" /> </css:css>