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 }