1 /*
2 * SPDX-FileCopyrightText: Copyright (c) 2012-2025 Yegor Bugayenko
3 * SPDX-License-Identifier: MIT
4 */
5 package com.jcabi.xml;
6
7 /**
8 * XSL stylesheet.
9 *
10 * <p>Implementation of this interface must be immutable and thread-safe.
11 *
12 * @see XSLDocument
13 * @since 0.4
14 * @checkstyle AbbreviationAsWordInNameCheck (5 lines)
15 */
16 public interface XSL {
17
18 /**
19 * Transform XML to another one.
20 * @param xml Source XML document
21 * @return Result document
22 */
23 XML transform(XML xml);
24
25 /**
26 * Transform XML into text.
27 * @param xml Source XML document
28 * @return Result text
29 * @since 0.11
30 */
31 String applyTo(XML xml);
32
33 /**
34 * With this sources.
35 * @param src Sources
36 * @return New XSL document
37 */
38 XSL with(Sources src);
39
40 /**
41 * With this parameter.
42 * @param name Name of XSL parameter
43 * @param value Value of XSL parameter
44 * @return New XSL document
45 * @since 0.16
46 */
47 XSL with(String name, Object value);
48
49 }