1 /* 2 * Copyright 2003,2004 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.apache.xerces.xs; 18 19 /** 20 * The <code>XSObject</code> is a base object for the XML Schema component 21 * model. 22 */ 23 public interface XSObject { 24 /** 25 * The <code>type</code> of this object, i.e. 26 * <code>ELEMENT_DECLARATION</code>. 27 */ 28 public short getType(); 29 30 /** 31 * The name of type <code>NCName</code>, as defined in XML Namespaces, of 32 * this declaration specified in the <code>{name}</code> property of the 33 * component or <code>null</code> if the definition of this component 34 * does not have a <code>{name}</code> property. For anonymous types, 35 * the processor must construct and expose an anonymous type name that 36 * is distinct from the name of every named type and the name of every 37 * other anonymous type. 38 */ 39 public String getName(); 40 41 /** 42 * The [target namespace] of this object, or <code>null</code> if it is 43 * unspecified. 44 */ 45 public String getNamespace(); 46 47 /** 48 * A namespace schema information item corresponding to the target 49 * namespace of the component, if it is globally declared; or 50 * <code>null</code> otherwise. 51 */ 52 public XSNamespaceItem getNamespaceItem(); 53 54 } 55