1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18// $Id: Source.java 446598 2006-09-15 12:55:40Z jeremias $
19
20package javax.xml.transform;
21
22/**
23 * An object that implements this interface contains the information
24 * needed to act as source input (XML source or transformation instructions).
25 */
26public interface Source {
27
28    /**
29     * Set the system identifier for this Source.
30     *
31     * <p>The system identifier is optional if the source does not
32     * get its data from a URL, but it may still be useful to provide one.
33     * The application can use a system identifier, for example, to resolve
34     * relative URIs and to include in error messages and warnings.</p>
35     *
36     * @param systemId The system identifier as a URL string.
37     */
38    public void setSystemId(String systemId);
39
40    /**
41     * Get the system identifier that was set with setSystemId.
42     *
43     * @return The system identifier that was set with setSystemId, or null
44     * if setSystemId was not called.
45     */
46    public String getSystemId();
47}
48