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_