This appendix contains the complete OMG IDL [OMG IDL] for the XML Schema API.
The IDL files are also available as: idl.zip
// File: org.apache.xerces.idl
#ifndef _ORG.APACHE.XERCES_IDL_
#define _ORG.APACHE.XERCES_IDL_
#pragma prefix "xs"
module org.apache.xerces
{
valuetype GenericString sequence<unsigned short>;
typedef Object GenericObject;
interface XSObject;
interface XSNamespaceItem;
interface XSElementDeclaration;
interface XSAttributeDeclaration;
interface XSTypeDefinition;
interface XSAttributeGroupDefinition;
interface XSModelGroupDefinition;
interface XSNotationDeclaration;
interface XSSimpleTypeDefinition;
interface XSComplexTypeDefinition;
interface XSAnnotation;
interface XSWildcard;
interface XSParticle;
interface XSTerm;
interface XSLoader;
exception XSException {
unsigned short code;
};
// ExceptionCode
const unsigned short NOT_SUPPORTED_ERR = 1;
const unsigned short INDEX_SIZE_ERR = 2;
interface XSNamedMap {
readonly attribute unsigned long length;
XSObject item(in unsigned long index);
XSObject itemByName(in GenericString namespace,
in GenericString localName);
};
interface XSObjectList {
readonly attribute unsigned long length;
XSObject item(in unsigned long index);
};
interface XSNamespaceItemList {
readonly attribute unsigned long length;
XSNamespaceItem item(in unsigned long index);
};
interface StringList {
readonly attribute unsigned long length;
boolean contains(in GenericString item);
GenericString item(in unsigned long index);
};
interface LSInputList {
readonly attribute unsigned long length;
LSInput item(in unsigned long index);
};
interface ShortList {
readonly attribute unsigned long length;
boolean contains(in unsigned short item);
unsigned short item(in unsigned long index)
raises(XSException);
};
interface XSObject {
readonly attribute unsigned short type;
readonly attribute GenericString name;
readonly attribute GenericString namespace;
readonly attribute XSNamespaceItem namespaceItem;
};
interface XSConstants {
// XML Schema Components
const unsigned short ATTRIBUTE_DECLARATION = 1;
const unsigned short ELEMENT_DECLARATION = 2;
const unsigned short TYPE_DEFINITION = 3;
const unsigned short ATTRIBUTE_USE = 4;
const unsigned short ATTRIBUTE_GROUP = 5;
const unsigned short MODEL_GROUP_DEFINITION = 6;
const unsigned short MODEL_GROUP = 7;
const unsigned short PARTICLE = 8;
const unsigned short WILDCARD = 9;
const unsigned short IDENTITY_CONSTRAINT = 10;
const unsigned short NOTATION_DECLARATION = 11;
const unsigned short ANNOTATION = 12;
const unsigned short FACET = 13;
const unsigned short MULTIVALUE_FACET = 14;
// Derivation constants
const unsigned short DERIVATION_NONE = 0;
const unsigned short DERIVATION_EXTENSION = 1;
const unsigned short DERIVATION_RESTRICTION = 2;
const unsigned short DERIVATION_SUBSTITUTION = 4;
const unsigned short DERIVATION_UNION = 8;
const unsigned short DERIVATION_LIST = 16;
// Scope
const unsigned short SCOPE_ABSENT = 0;
const unsigned short SCOPE_GLOBAL = 1;
const unsigned short SCOPE_LOCAL = 2;
// Value Constraint
const unsigned short VC_NONE = 0;
const unsigned short VC_DEFAULT = 1;
const unsigned short VC_FIXED = 2;
// Built-in types: primitive and derived
const unsigned short ANYSIMPLETYPE_DT = 1;
const unsigned short STRING_DT = 2;
const unsigned short BOOLEAN_DT = 3;
const unsigned short DECIMAL_DT = 4;
const unsigned short FLOAT_DT = 5;
const unsigned short DOUBLE_DT = 6;
const unsigned short DURATION_DT = 7;
const unsigned short DATETIME_DT = 8;
const unsigned short TIME_DT = 9;
const unsigned short DATE_DT = 10;
const unsigned short GYEARMONTH_DT = 11;
const unsigned short GYEAR_DT = 12;
const unsigned short GMONTHDAY_DT = 13;
const unsigned short GDAY_DT = 14;
const unsigned short GMONTH_DT = 15;
const unsigned short HEXBINARY_DT = 16;
const unsigned short BASE64BINARY_DT = 17;
const unsigned short ANYURI_DT = 18;
const unsigned short QNAME_DT = 19;
const unsigned short NOTATION_DT = 20;
const unsigned short NORMALIZEDSTRING_DT = 21;
const unsigned short TOKEN_DT = 22;
const unsigned short LANGUAGE_DT = 23;
const unsigned short NMTOKEN_DT = 24;
const unsigned short NAME_DT = 25;
const unsigned short NCNAME_DT = 26;
const unsigned short ID_DT = 27;
const unsigned short IDREF_DT = 28;
const unsigned short ENTITY_DT = 29;
const unsigned short INTEGER_DT = 30;
const unsigned short NONPOSITIVEINTEGER_DT = 31;
const unsigned short NEGATIVEINTEGER_DT = 32;
const unsigned short LONG_DT = 33;
const unsigned short INT_DT = 34;
const unsigned short SHORT_DT = 35;
const unsigned short BYTE_DT = 36;
const unsigned short NONNEGATIVEINTEGER_DT = 37;
const unsigned short UNSIGNEDLONG_DT = 38;
const unsigned short UNSIGNEDINT_DT = 39;
const unsigned short UNSIGNEDSHORT_DT = 40;
const unsigned short UNSIGNEDBYTE_DT = 41;
const unsigned short POSITIVEINTEGER_DT = 42;
const unsigned short LISTOFUNION_DT = 43;
const unsigned short LIST_DT = 44;
const unsigned short UNAVAILABLE_DT = 45;
};
interface XSModel {
readonly attribute StringList namespaces;
readonly attribute XSNamespaceItemList namespaceItems;
XSNamedMap getComponents(in unsigned short objectType);
XSNamedMap getComponentsByNamespace(in unsigned short objectType,
in GenericString namespace);
readonly attribute XSObjectList annotations;
XSElementDeclaration getElementDeclaration(in GenericString namespace,
in GenericString name);
XSAttributeDeclaration getAttributeDeclaration(in GenericString namespace,
in GenericString name);
XSTypeDefinition getTypeDefinition(in GenericString namespace,
in GenericString name);
XSAttributeGroupDefinition getAttributeGroup(in GenericString namespace,
in GenericString name);
XSModelGroupDefinition getModelGroupDefinition(in GenericString namespace,
in GenericString name);
XSNotationDeclaration getNotationDeclaration(in GenericString namespace,
in GenericString name);
};
interface XSNamespaceItem {
readonly attribute GenericString schemaNamespace;
XSNamedMap getComponents(in unsigned short objectType);
readonly attribute XSObjectList annotations;
XSElementDeclaration getElementDeclaration(in GenericString name);
XSAttributeDeclaration getAttributeDeclaration(in GenericString name);
XSTypeDefinition getTypeDefinition(in GenericString name);
XSAttributeGroupDefinition getAttributeGroup(in GenericString name);
XSModelGroupDefinition getModelGroupDefinition(in GenericString name);
XSNotationDeclaration getNotationDeclaration(in GenericString name);
readonly attribute StringList documentLocations;
};
interface XSAttributeDeclaration : XSObject {
readonly attribute XSSimpleTypeDefinition typeDefinition;
readonly attribute unsigned short scope;
readonly attribute XSComplexTypeDefinition enclosingCTDefinition;
readonly attribute unsigned short constraintType;
readonly attribute GenericString constraintValue;
readonly attribute GenericObject actualVC;
// raises(XSException) on retrieval
readonly attribute unsigned short actualVCType;
// raises(XSException) on retrieval
readonly attribute ShortList itemValueTypes;
// raises(XSException) on retrieval
readonly attribute XSAnnotation annotation;
};
interface XSTypeDefinition : XSObject {
const unsigned short COMPLEX_TYPE = 15;
const unsigned short SIMPLE_TYPE = 16;
readonly attribute unsigned short typeCategory;
readonly attribute XSTypeDefinition baseType;
boolean isFinal(in unsigned short restriction);
readonly attribute unsigned short final;
readonly attribute boolean anonymous;
boolean derivedFromType(in XSTypeDefinition ancestorType,
in unsigned short derivationMethod);
boolean derivedFrom(in GenericString namespace,
in GenericString name,
in unsigned short derivationMethod);
};
interface XSComplexTypeDefinition : XSTypeDefinition {
// Content Model Types
const unsigned short CONTENTTYPE_EMPTY = 0;
const unsigned short CONTENTTYPE_SIMPLE = 1;
const unsigned short CONTENTTYPE_ELEMENT = 2;
const unsigned short CONTENTTYPE_MIXED = 3;
readonly attribute unsigned short derivationMethod;
readonly attribute boolean abstract;
readonly attribute XSObjectList attributeUses;
readonly attribute XSWildcard attributeWildcard;
readonly attribute unsigned short contentType;
readonly attribute XSSimpleTypeDefinition simpleType;
readonly attribute XSParticle particle;
boolean isProhibitedSubstitution(in unsigned short restriction);
readonly attribute unsigned short prohibitedSubstitutions;
readonly attribute XSObjectList annotations;
};
interface XSSimpleTypeDefinition : XSTypeDefinition {
// Variety definitions
const unsigned short VARIETY_ABSENT = 0;
const unsigned short VARIETY_ATOMIC = 1;
const unsigned short VARIETY_LIST = 2;
const unsigned short VARIETY_UNION = 3;
// Facets
const unsigned short FACET_NONE = 0;
const unsigned short FACET_LENGTH = 1;
const unsigned short FACET_MINLENGTH = 2;
const unsigned short FACET_MAXLENGTH = 4;
const unsigned short FACET_PATTERN = 8;
const unsigned short FACET_WHITESPACE = 16;
const unsigned short FACET_MAXINCLUSIVE = 32;
const unsigned short FACET_MAXEXCLUSIVE = 64;
const unsigned short FACET_MINEXCLUSIVE = 128;
const unsigned short FACET_MININCLUSIVE = 256;
const unsigned short FACET_TOTALDIGITS = 512;
const unsigned short FACET_FRACTIONDIGITS = 1024;
const unsigned short FACET_ENUMERATION = 2048;
const unsigned short ORDERED_FALSE = 0;
const unsigned short ORDERED_PARTIAL = 1;
const unsigned short ORDERED_TOTAL = 2;
readonly attribute unsigned short variety;
readonly attribute XSSimpleTypeDefinition primitiveType;
readonly attribute unsigned short builtInKind;
readonly attribute XSSimpleTypeDefinition itemType;
readonly attribute XSObjectList memberTypes;
readonly attribute unsigned short definedFacets;
boolean isDefinedFacet(in unsigned short facetName);
readonly attribute unsigned short fixedFacets;
boolean isFixedFacet(in unsigned short facetName);
GenericString getLexicalFacetValue(in unsigned short facetName);
readonly attribute StringList lexicalEnumeration;
readonly attribute StringList lexicalPattern;
readonly attribute unsigned short ordered;
readonly attribute boolean finite;
readonly attribute boolean bounded;
readonly attribute boolean numeric;
readonly attribute XSObjectList facets;
readonly attribute XSObjectList multiValueFacets;
readonly attribute XSObjectList annotations;
};
interface XSFacet : XSObject {
readonly attribute unsigned short facetKind;
readonly attribute GenericString lexicalFacetValue;
readonly attribute boolean fixed;
readonly attribute XSAnnotation annotation;
};
interface XSMultiValueFacet : XSObject {
readonly attribute unsigned short facetKind;
readonly attribute StringList lexicalFacetValues;
readonly attribute XSObjectList annotations;
};
interface XSParticle : XSObject {
readonly attribute unsigned long minOccurs;
readonly attribute unsigned long maxOccurs;
readonly attribute boolean maxOccursUnbounded;
readonly attribute XSTerm term;
};
interface XSTerm : XSObject {
};
interface XSModelGroup : XSTerm {
// Content model compositors
const unsigned short COMPOSITOR_SEQUENCE = 1;
const unsigned short COMPOSITOR_CHOICE = 2;
const unsigned short COMPOSITOR_ALL = 3;
readonly attribute unsigned short compositor;
readonly attribute XSObjectList particles;
readonly attribute XSAnnotation annotation;
};
interface XSModelGroupDefinition : XSObject {
readonly attribute XSModelGroup modelGroup;
readonly attribute XSAnnotation annotation;
};
interface XSAttributeGroupDefinition : XSObject {
readonly attribute XSObjectList attributeUses;
readonly attribute XSWildcard attributeWildcard;
readonly attribute XSAnnotation annotation;
};
interface XSAttributeUse : XSObject {
readonly attribute boolean required;
readonly attribute XSAttributeDeclaration attrDeclaration;
readonly attribute unsigned short constraintType;
readonly attribute GenericString constraintValue;
readonly attribute GenericObject actualVC;
// raises(XSException) on retrieval
readonly attribute unsigned short actualVCType;
// raises(XSException) on retrieval
readonly attribute ShortList itemValueTypes;
// raises(XSException) on retrieval
};
interface XSWildcard : XSTerm {
// Namespace Constraint
const unsigned short NSCONSTRAINT_ANY = 1;
const unsigned short NSCONSTRAINT_NOT = 2;
const unsigned short NSCONSTRAINT_LIST = 3;
// Process contents
const unsigned short PC_STRICT = 1;
const unsigned short PC_SKIP = 2;
const unsigned short PC_LAX = 3;
readonly attribute unsigned short constraintType;
readonly attribute StringList nsConstraintList;
readonly attribute unsigned short processContents;
readonly attribute XSAnnotation annotation;
};
interface XSIDCDefinition : XSObject {
// Identity Constraints
const unsigned short IC_KEY = 1;
const unsigned short IC_KEYREF = 2;
const unsigned short IC_UNIQUE = 3;
readonly attribute unsigned short category;
readonly attribute GenericString selectorStr;
readonly attribute StringList fieldStrs;
readonly attribute XSIDCDefinition refKey;
readonly attribute XSObjectList annotations;
};
interface XSNotationDeclaration : XSObject {
readonly attribute GenericString systemId;
readonly attribute GenericString publicId;
readonly attribute XSAnnotation annotation;
};
interface XSAnnotation : XSObject {
// TargetType
const unsigned short W3C_DOM_ELEMENT = 1;
const unsigned short SAX_CONTENTHANDLER = 2;
const unsigned short W3C_DOM_DOCUMENT = 3;
boolean writeAnnotation(in GenericObject target,
in unsigned short targetType);
readonly attribute GenericString annotationString;
};
interface ItemPSVI {
const unsigned short VALIDITY_NOTKNOWN = 0;
const unsigned short VALIDITY_INVALID = 1;
const unsigned short VALIDITY_VALID = 2;
const unsigned short VALIDATION_NONE = 0;
const unsigned short VALIDATION_PARTIAL = 1;
const unsigned short VALIDATION_FULL = 2;
readonly attribute GenericString validationContext;
readonly attribute unsigned short validity;
readonly attribute unsigned short validationAttempted;
readonly attribute StringList errorCodes;
readonly attribute GenericString schemaNormalizedValue;
readonly attribute GenericObject actualNormalizedValue;
// raises(XSException) on retrieval
readonly attribute unsigned short actualNormalizedValueType;
// raises(XSException) on retrieval
readonly attribute ShortList itemValueTypes;
// raises(XSException) on retrieval
readonly attribute XSTypeDefinition typeDefinition;
readonly attribute XSSimpleTypeDefinition memberTypeDefinition;
readonly attribute GenericString schemaDefault;
readonly attribute boolean isSchemaSpecified;
};
interface ElementPSVI : ItemPSVI {
readonly attribute XSElementDeclaration elementDeclaration;
readonly attribute XSNotationDeclaration notation;
readonly attribute boolean nil;
readonly attribute XSModel schemaInformation;
};
interface AttributePSVI : ItemPSVI {
readonly attribute XSAttributeDeclaration attributeDeclaration;
};
interface PSVIProvider {
ElementPSVI getElementPSVI();
AttributePSVI getAttributePSVI(in unsigned long index);
AttributePSVI getAttributePSVIByName(in GenericString uri,
in GenericString localname);
};
interface XSImplementation {
attribute StringList recognizedVersions;
XSLoader createXSLoader(in StringList versions)
raises(XSException);
};
interface XSLoader {
readonly attribute DOMConfiguration config;
XSModel loadURIList(in StringList uriList);
XSModel loadInputList(in LSInputList is);
XSModel loadURI(in GenericString uri);
XSModel load(in LSInput is);
};
interface XSElementDeclaration : XSTerm {
readonly attribute XSTypeDefinition typeDefinition;
readonly attribute unsigned short scope;
readonly attribute XSComplexTypeDefinition enclosingCTDefinition;
readonly attribute unsigned short constraintType;
readonly attribute GenericString constraintValue;
readonly attribute GenericObject actualVC;
// raises(XSException) on retrieval
readonly attribute unsigned short actualVCType;
// raises(XSException) on retrieval
readonly attribute ShortList itemValueTypes;
// raises(XSException) on retrieval
readonly attribute boolean nillable;
readonly attribute XSNamedMap identityConstraints;
readonly attribute XSElementDeclaration substitutionGroupAffiliation;
boolean isSubstitutionGroupExclusion(in unsigned short exclusion);
readonly attribute unsigned short substitutionGroupExclusions;
boolean isDisallowedSubstitution(in unsigned short disallowed);
readonly attribute unsigned short disallowedSubstitutions;
readonly attribute boolean abstract;
readonly attribute XSAnnotation annotation;
};
};
#endif // _ORG.APACHE.XERCES_IDL_