1 /* Copyright 2004 The Apache Software Foundation
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 package org.apache.xmlbeans;
17
18 /**
19 * Represents a local or global element definition.
20 */
21 public interface SchemaLocalElement extends SchemaField, SchemaAnnotated
22 {
23 /**
24 * True if extension is blocked.
25 */
26 boolean blockExtension();
27 /**
28 * True if restriction is blocked.
29 */
30 boolean blockRestriction();
31 /**
32 * True if element substitution is blocked.
33 */
34 boolean blockSubstitution();
35
36 /**
37 * True if this element is prohibited in content. Only
38 * sensible if this is the head of a substitution group;
39 * then only substitution group members can appear.<P>
40 *
41 * Although local elements cannot be abstract, if an element
42 * use is a ref to a global element, then the flag from the
43 * global element is copied in to the local element where the
44 * use occurs.
45 */
46 boolean isAbstract();
47
48 /**
49 * Returns all the Key, KeyRef, and Unique constraints
50 * on this element.
51 */
52 SchemaIdentityConstraint[] getIdentityConstraints();
53 }