01: package net.sf.saxon.type;
02:
03: import java.io.Serializable;
04:
05: /**
06: * This is a marker interface that represents any "schema component" as defined in the XML Schema
07: * specification. This may be a user-defined schema component or a built-in schema component.
08: */
09: public interface SchemaComponent extends Serializable {
10:
11: /**
12: * Get the validation status of this component.
13: * @return one of the values {@link #UNVALIDATED}, {@link #VALIDATING},
14: * {@link #VALIDATED}, {@link #INVALID}, {@link #INCOMPLETE}
15: */
16:
17: public int getValidationStatus();
18:
19: /**
20: * Validation status: not yet validated
21: */
22: public static final int UNVALIDATED = 0;
23:
24: /**
25: * Validation status: fixed up (all references to other components have been resolved)
26: */
27: public static final int FIXED_UP = 1;
28:
29: /**
30: * Validation status: currently being validated
31: */
32: public static final int VALIDATING = 2;
33:
34: /**
35: * Validation status: successfully validated
36: */
37: public static final int VALIDATED = 3;
38:
39: /**
40: * Validation status: validation attempted and failed with fatal errors
41: */
42: public static final int INVALID = 4;
43:
44: /**
45: * Validation status: validation attempted, component contains references to
46: * other components that are not (yet) available
47: */
48: public static final int INCOMPLETE = 5;
49:
50: }
51:
52: //
53: // The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
54: // you may not use this file except in compliance with the License. You may obtain a copy of the
55: // License at http://www.mozilla.org/MPL/
56: //
57: // Software distributed under the License is distributed on an "AS IS" basis,
58: // WITHOUT WARRANTY OF ANY KIND, either express or implied.
59: // See the License for the specific language governing rights and limitations under the License.
60: //
61: // The Original Code is: all this file.
62: //
63: // The Initial Developer of the Original Code is Saxonica Limited
64: //
65: // Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
66: //
67: // Contributor(s): none
68: //
|