1320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/*
2320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more
3320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * contributor license agreements.  See the NOTICE file distributed with
4320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * this work for additional information regarding copyright ownership.
5320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0
6320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * (the "License"); you may not use this file except in compliance with
7320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * the License.  You may obtain a copy of the License at
8320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *
9320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
10320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *
11320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Unless required by applicable law or agreed to in writing, software
12320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
13320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * See the License for the specific language governing permissions and
15320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * limitations under the License.
16320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */
17320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
18320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson// $Id: TemplatesHandler.java 446598 2006-09-15 12:55:40Z jeremias $
19320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
20320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpackage javax.xml.transform.sax;
21320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
227365de1056414750d0a7d1fdd26025fd247f0d04Jesse Wilsonimport javax.xml.transform.Templates;
23320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.ContentHandler;
24320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
25320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/**
26320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * A SAX ContentHandler that may be used to process SAX
27320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * parse events (parsing transformation instructions) into a Templates object.
28320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson *
29320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>Note that TemplatesHandler does not need to implement LexicalHandler.</p>
30320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */
31320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpublic interface TemplatesHandler extends ContentHandler {
32320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
33320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
34320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * When a TemplatesHandler object is used as a ContentHandler
35320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * for the parsing of transformation instructions, it creates a Templates object,
36320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * which the caller can get once the SAX events have been completed.
37320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *
38320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @return The Templates object that was created during
39320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * the SAX event process, or null if no Templates object has
40320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * been created.
41320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *
42320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
43320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public Templates getTemplates();
44320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
45320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
46320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * Set the base ID (URI or system ID) for the Templates object
47320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * created by this builder.  This must be set in order to
48320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * resolve relative URIs in the stylesheet.  This must be
49320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * called before the startDocument event.
50320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     *
51320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @param systemID Base URI for this stylesheet.
52320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
53320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public void setSystemId(String systemID);
54320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson
55320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    /**
56320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * Get the base ID (URI or system ID) from where relative
57320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * URLs will be resolved.
58320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     * @return The systemID that was set with {@link #setSystemId}.
59320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson     */
60320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson    public String getSystemId();
61320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson}
62