1 package org.daisy.pipeline.css;
2
3 import javax.xml.namespace.QName;
4 import javax.xml.transform.URIResolver;
5
6 import org.daisy.common.transform.XMLTransformer;
7
8 /**
9 * Used by the <a
10 * href="http://daisy.github.io/pipeline/modules/css-utils/src/main/resources/xml/css-cascade.xpl"
11 * class="apidoc"><code>px:css-cascade</code></a> step to inline CSS style sheets in XML.
12 *
13 * <p>The known implementations are:</p>
14 * <ul>
15 * <li><a href="http://daisy.github.io/pipeline/modules/braille/braille-css-utils/src/main/README.html"
16 * class="apidoc">Medium <b>embossed</b></a></li>
17 * </ul>
18 */
19 public interface CssCascader {
20
21 public boolean supportsMedium(Medium medium);
22
23 /**
24 * @param multipleAttrs When {@code true}, cascade the styles into multiple attributes per
25 * element. In this case the namespace and prefix of {@code attributeName}
26 * are used for the attributes, the local part is ignored.
27 */
28 public XMLTransformer newInstance(Medium medium,
29 String userAndUserAgentStylesheets,
30 URIResolver uriResolver,
31 CssPreProcessor preProcessor,
32 XsltProcessor xsltProcessor,
33 QName attributeName,
34 boolean multipleAttrs);
35
36 }