1 package net.sf.saxon.expr; 2 3 import net.sf.saxon.instruct.Executable; 4 import net.sf.saxon.event.LocationProvider; 5 6 import javax.xml.transform.SourceLocator; 7 8 /** 9 * A Container is something that can act as the parent of an expression. It is either an 10 * expression that can have subexpressions (which rules out Values), or an object such as a function, 11 * a template, or an attribute set that is not itself an expression but that can contain expressions 12 */ 13 14 public interface Container extends SourceLocator { 15 16 /** 17 * Get the Executable (representing a complete stylesheet or query) of which this Container forms part 18 */ 19 20 public Executable getExecutable(); 21 22 /** 23 * Get the LocationProvider allowing location identifiers to be resolved. 24 */ 25 26 public LocationProvider getLocationProvider(); 27 28 } 29 30 31 // 32 // The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); 33 // you may not use this file except in compliance with the License. You may obtain a copy of the 34 // License at http://www.mozilla.org/MPL/ 35 // 36 // Software distributed under the License is distributed on an "AS IS" basis, 37 // WITHOUT WARRANTY OF ANY KIND, either express or implied. 38 // See the License for the specific language governing rights and limitations under the License. 39 // 40 // The Original Code is: all this file. 41 // 42 // The Initial Developer of the Original Code is Michael H. Kay. 43 // 44 // Contributor(s): Michael Kay 45 // 46