Appendix B: Java Language Binding

This appendix contains the complete Java [Java] bindings for the XML Schema API.

The Java files are also available as java-binding.zip

org\apache\xerces\xs\XSException.java:

package org.apache.xerces.xs;

public class XSException extends RuntimeException {
    public XSException(short code, String message) {
       super(message);
       this.code = code;
    }
    public short   code;
    // ExceptionCode
    public static final short NOT_SUPPORTED_ERR         = 1;
    public static final short INDEX_SIZE_ERR            = 2;

}

org\apache\xerces\xs\XSNamedMap.java:

package org.apache.xerces.xs;

public interface XSNamedMap {
    public int getLength();

    public XSObject item(int index);

    public XSObject itemByName(String namespace, 
                               String localName);

}

org\apache\xerces\xs\XSObjectList.java:

package org.apache.xerces.xs;

public interface XSObjectList {
    public int getLength();

    public XSObject item(int index);

}

org\apache\xerces\xs\XSNamespaceItemList.java:

package org.apache.xerces.xs;

public interface XSNamespaceItemList {
    public int getLength();

    public XSNamespaceItem item(int index);

}

org\apache\xerces\xs\StringList.java:

package org.apache.xerces.xs;

public interface StringList {
    public int getLength();

    public boolean contains(String item);

    public String item(int index);

}

org\apache\xerces\xs\LSInputList.java:

package org.apache.xerces.xs;

import org.w3c.dom.ls.LSInput;

public interface LSInputList {
    public int getLength();

    public LSInput item(int index);

}

org\apache\xerces\xs\ShortList.java:

package org.apache.xerces.xs;

public interface ShortList {
    public int getLength();

    public boolean contains(short item);

    public short item(int index)
                      throws XSException;

}

org\apache\xerces\xs\XSObject.java:

package org.apache.xerces.xs;

public interface XSObject {
    public short getType();

    public String getName();

    public String getNamespace();

    public XSNamespaceItem getNamespaceItem();

}

org\apache\xerces\xs\XSConstants.java:

package org.apache.xerces.xs;

public interface XSConstants {
    // XML Schema Components
    public static final short ATTRIBUTE_DECLARATION     = 1;
    public static final short ELEMENT_DECLARATION       = 2;
    public static final short TYPE_DEFINITION           = 3;
    public static final short ATTRIBUTE_USE             = 4;
    public static final short ATTRIBUTE_GROUP           = 5;
    public static final short MODEL_GROUP_DEFINITION    = 6;
    public static final short MODEL_GROUP               = 7;
    public static final short PARTICLE                  = 8;
    public static final short WILDCARD                  = 9;
    public static final short IDENTITY_CONSTRAINT       = 10;
    public static final short NOTATION_DECLARATION      = 11;
    public static final short ANNOTATION                = 12;
    public static final short FACET                     = 13;
    public static final short MULTIVALUE_FACET          = 14;

    // Derivation constants
    public static final short DERIVATION_NONE           = 0;
    public static final short DERIVATION_EXTENSION      = 1;
    public static final short DERIVATION_RESTRICTION    = 2;
    public static final short DERIVATION_SUBSTITUTION   = 4;
    public static final short DERIVATION_UNION          = 8;
    public static final short DERIVATION_LIST           = 16;

    // Scope
    public static final short SCOPE_ABSENT              = 0;
    public static final short SCOPE_GLOBAL              = 1;
    public static final short SCOPE_LOCAL               = 2;

    // Value Constraint
    public static final short VC_NONE                   = 0;
    public static final short VC_DEFAULT                = 1;
    public static final short VC_FIXED                  = 2;

    // Built-in types: primitive and derived
    public static final short ANYSIMPLETYPE_DT          = 1;
    public static final short STRING_DT                 = 2;
    public static final short BOOLEAN_DT                = 3;
    public static final short DECIMAL_DT                = 4;
    public static final short FLOAT_DT                  = 5;
    public static final short DOUBLE_DT                 = 6;
    public static final short DURATION_DT               = 7;
    public static final short DATETIME_DT               = 8;
    public static final short TIME_DT                   = 9;
    public static final short DATE_DT                   = 10;
    public static final short GYEARMONTH_DT             = 11;
    public static final short GYEAR_DT                  = 12;
    public static final short GMONTHDAY_DT              = 13;
    public static final short GDAY_DT                   = 14;
    public static final short GMONTH_DT                 = 15;
    public static final short HEXBINARY_DT              = 16;
    public static final short BASE64BINARY_DT           = 17;
    public static final short ANYURI_DT                 = 18;
    public static final short QNAME_DT                  = 19;
    public static final short NOTATION_DT               = 20;
    public static final short NORMALIZEDSTRING_DT       = 21;
    public static final short TOKEN_DT                  = 22;
    public static final short LANGUAGE_DT               = 23;
    public static final short NMTOKEN_DT                = 24;
    public static final short NAME_DT                   = 25;
    public static final short NCNAME_DT                 = 26;
    public static final short ID_DT                     = 27;
    public static final short IDREF_DT                  = 28;
    public static final short ENTITY_DT                 = 29;
    public static final short INTEGER_DT                = 30;
    public static final short NONPOSITIVEINTEGER_DT     = 31;
    public static final short NEGATIVEINTEGER_DT        = 32;
    public static final short LONG_DT                   = 33;
    public static final short INT_DT                    = 34;
    public static final short SHORT_DT                  = 35;
    public static final short BYTE_DT                   = 36;
    public static final short NONNEGATIVEINTEGER_DT     = 37;
    public static final short UNSIGNEDLONG_DT           = 38;
    public static final short UNSIGNEDINT_DT            = 39;
    public static final short UNSIGNEDSHORT_DT          = 40;
    public static final short UNSIGNEDBYTE_DT           = 41;
    public static final short POSITIVEINTEGER_DT        = 42;
    public static final short LISTOFUNION_DT            = 43;
    public static final short LIST_DT                   = 44;
    public static final short UNAVAILABLE_DT            = 45;

}

org\apache\xerces\xs\XSModel.java:

package org.apache.xerces.xs;

public interface XSModel {
    public StringList getNamespaces();

    public XSNamespaceItemList getNamespaceItems();

    public XSNamedMap getComponents(short objectType);

    public XSNamedMap getComponentsByNamespace(short objectType, 
                                               String namespace);

    public XSObjectList getAnnotations();

    public XSElementDeclaration getElementDeclaration(String namespace, 
                                                      String name);

    public XSAttributeDeclaration getAttributeDeclaration(String namespace, 
                                                          String name);

    public XSTypeDefinition getTypeDefinition(String namespace, 
                                              String name);

    public XSAttributeGroupDefinition getAttributeGroup(String namespace, 
                                                        String name);

    public XSModelGroupDefinition getModelGroupDefinition(String namespace, 
                                                          String name);

    public XSNotationDeclaration getNotationDeclaration(String namespace, 
                                                        String name);

}

org\apache\xerces\xs\XSNamespaceItem.java:

package org.apache.xerces.xs;

public interface XSNamespaceItem {
    public String getSchemaNamespace();

    public XSNamedMap getComponents(short objectType);

    public XSObjectList getAnnotations();

    public XSElementDeclaration getElementDeclaration(String name);

    public XSAttributeDeclaration getAttributeDeclaration(String name);

    public XSTypeDefinition getTypeDefinition(String name);

    public XSAttributeGroupDefinition getAttributeGroup(String name);

    public XSModelGroupDefinition getModelGroupDefinition(String name);

    public XSNotationDeclaration getNotationDeclaration(String name);

    public StringList getDocumentLocations();

}

org\apache\xerces\xs\XSAttributeDeclaration.java:

package org.apache.xerces.xs;

public interface XSAttributeDeclaration extends XSObject {
    public XSSimpleTypeDefinition getTypeDefinition();

    public short getScope();

    public XSComplexTypeDefinition getEnclosingCTDefinition();

    public short getConstraintType();

    public String getConstraintValue();

    public Object getActualVC()
                                                        throws XSException;

    public short getActualVCType()
                                                        throws XSException;

    public ShortList getItemValueTypes()
                                                        throws XSException;

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSElementDeclaration.java:

package org.apache.xerces.xs;

public interface XSElementDeclaration extends XSTerm {
    public XSTypeDefinition getTypeDefinition();

    public short getScope();

    public XSComplexTypeDefinition getEnclosingCTDefinition();

    public short getConstraintType();

    public String getConstraintValue();

    public Object getActualVC()
                                                        throws XSException;

    public short getActualVCType()
                                                        throws XSException;

    public ShortList getItemValueTypes()
                                                        throws XSException;

    public boolean getNillable();

    public XSNamedMap getIdentityConstraints();

    public XSElementDeclaration getSubstitutionGroupAffiliation();

    public boolean isSubstitutionGroupExclusion(short exclusion);

    public short getSubstitutionGroupExclusions();

    public boolean isDisallowedSubstitution(short disallowed);

    public short getDisallowedSubstitutions();

    public boolean getAbstract();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSTypeDefinition.java:

package org.apache.xerces.xs;

public interface XSTypeDefinition extends XSObject {
    public static final short COMPLEX_TYPE              = 15;
    public static final short SIMPLE_TYPE               = 16;
    public short getTypeCategory();

    public XSTypeDefinition getBaseType();

    public boolean isFinal(short restriction);

    public short getFinal();

    public boolean getAnonymous();

    public boolean derivedFromType(XSTypeDefinition ancestorType, 
                                   short derivationMethod);

    public boolean derivedFrom(String namespace, 
                               String name, 
                               short derivationMethod);

}

org\apache\xerces\xs\XSComplexTypeDefinition.java:

package org.apache.xerces.xs;

public interface XSComplexTypeDefinition extends XSTypeDefinition {
    // Content Model Types
    public static final short CONTENTTYPE_EMPTY         = 0;
    public static final short CONTENTTYPE_SIMPLE        = 1;
    public static final short CONTENTTYPE_ELEMENT       = 2;
    public static final short CONTENTTYPE_MIXED         = 3;

    public short getDerivationMethod();

    public boolean getAbstract();

    public XSObjectList getAttributeUses();

    public XSWildcard getAttributeWildcard();

    public short getContentType();

    public XSSimpleTypeDefinition getSimpleType();

    public XSParticle getParticle();

    public boolean isProhibitedSubstitution(short restriction);

    public short getProhibitedSubstitutions();

    public XSObjectList getAnnotations();

}

org\apache\xerces\xs\XSSimpleTypeDefinition.java:

package org.apache.xerces.xs;

public interface XSSimpleTypeDefinition extends XSTypeDefinition {
    // Variety definitions
    public static final short VARIETY_ABSENT            = 0;
    public static final short VARIETY_ATOMIC            = 1;
    public static final short VARIETY_LIST              = 2;
    public static final short VARIETY_UNION             = 3;

    // Facets
    public static final short FACET_NONE                = 0;
    public static final short FACET_LENGTH              = 1;
    public static final short FACET_MINLENGTH           = 2;
    public static final short FACET_MAXLENGTH           = 4;
    public static final short FACET_PATTERN             = 8;
    public static final short FACET_WHITESPACE          = 16;
    public static final short FACET_MAXINCLUSIVE        = 32;
    public static final short FACET_MAXEXCLUSIVE        = 64;
    public static final short FACET_MINEXCLUSIVE        = 128;
    public static final short FACET_MININCLUSIVE        = 256;
    public static final short FACET_TOTALDIGITS         = 512;
    public static final short FACET_FRACTIONDIGITS      = 1024;
    public static final short FACET_ENUMERATION         = 2048;

    public static final short ORDERED_FALSE             = 0;
    public static final short ORDERED_PARTIAL           = 1;
    public static final short ORDERED_TOTAL             = 2;
    public short getVariety();

    public XSSimpleTypeDefinition getPrimitiveType();

    public short getBuiltInKind();

    public XSSimpleTypeDefinition getItemType();

    public XSObjectList getMemberTypes();

    public short getDefinedFacets();

    public boolean isDefinedFacet(short facetName);

    public short getFixedFacets();

    public boolean isFixedFacet(short facetName);

    public String getLexicalFacetValue(short facetName);

    public StringList getLexicalEnumeration();

    public StringList getLexicalPattern();

    public short getOrdered();

    public boolean getFinite();

    public boolean getBounded();

    public boolean getNumeric();

    public XSObjectList getFacets();

    public XSObjectList getMultiValueFacets();

    public XSObjectList getAnnotations();

}

org\apache\xerces\xs\XSFacet.java:

package org.apache.xerces.xs;

public interface XSFacet extends XSObject {
    public short getFacetKind();

    public String getLexicalFacetValue();

    public boolean getFixed();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSMultiValueFacet.java:

package org.apache.xerces.xs;

public interface XSMultiValueFacet extends XSObject {
    public short getFacetKind();

    public StringList getLexicalFacetValues();

    public XSObjectList getAnnotations();

}

org\apache\xerces\xs\XSParticle.java:

package org.apache.xerces.xs;

public interface XSParticle extends XSObject {
    public int getMinOccurs();

    public int getMaxOccurs();

    public boolean getMaxOccursUnbounded();

    public XSTerm getTerm();

}

org\apache\xerces\xs\XSTerm.java:

package org.apache.xerces.xs;

public interface XSTerm extends XSObject {
}

org\apache\xerces\xs\XSModelGroup.java:

package org.apache.xerces.xs;

public interface XSModelGroup extends XSTerm {
    // Content model compositors
    public static final short COMPOSITOR_SEQUENCE       = 1;
    public static final short COMPOSITOR_CHOICE         = 2;
    public static final short COMPOSITOR_ALL            = 3;

    public short getCompositor();

    public XSObjectList getParticles();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSModelGroupDefinition.java:

package org.apache.xerces.xs;

public interface XSModelGroupDefinition extends XSObject {
    public XSModelGroup getModelGroup();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSAttributeGroupDefinition.java:

package org.apache.xerces.xs;

public interface XSAttributeGroupDefinition extends XSObject {
    public XSObjectList getAttributeUses();

    public XSWildcard getAttributeWildcard();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSAttributeUse.java:

package org.apache.xerces.xs;

public interface XSAttributeUse extends XSObject {
    public boolean getRequired();

    public XSAttributeDeclaration getAttrDeclaration();

    public short getConstraintType();

    public String getConstraintValue();

    public Object getActualVC()
                                       throws XSException;

    public short getActualVCType()
                                       throws XSException;

    public ShortList getItemValueTypes()
                                       throws XSException;

}

org\apache\xerces\xs\XSWildcard.java:

package org.apache.xerces.xs;

public interface XSWildcard extends XSTerm {
    // Namespace Constraint
    public static final short NSCONSTRAINT_ANY          = 1;
    public static final short NSCONSTRAINT_NOT          = 2;
    public static final short NSCONSTRAINT_LIST         = 3;

    // Process contents
    public static final short PC_STRICT                 = 1;
    public static final short PC_SKIP                   = 2;
    public static final short PC_LAX                    = 3;

    public short getConstraintType();

    public StringList getNsConstraintList();

    public short getProcessContents();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSIDCDefinition.java:

package org.apache.xerces.xs;

public interface XSIDCDefinition extends XSObject {
    // Identity Constraints
    public static final short IC_KEY                    = 1;
    public static final short IC_KEYREF                 = 2;
    public static final short IC_UNIQUE                 = 3;

    public short getCategory();

    public String getSelectorStr();

    public StringList getFieldStrs();

    public XSIDCDefinition getRefKey();

    public XSObjectList getAnnotations();

}

org\apache\xerces\xs\XSNotationDeclaration.java:

package org.apache.xerces.xs;

public interface XSNotationDeclaration extends XSObject {
    public String getSystemId();

    public String getPublicId();

    public XSAnnotation getAnnotation();

}

org\apache\xerces\xs\XSAnnotation.java:

package org.apache.xerces.xs;

public interface XSAnnotation extends XSObject {
    // TargetType
    public static final short W3C_DOM_ELEMENT           = 1;
    public static final short SAX_CONTENTHANDLER        = 2;
    public static final short W3C_DOM_DOCUMENT          = 3;

    public boolean writeAnnotation(Object target, 
                                   short targetType);

    public String getAnnotationString();

}

org\apache\xerces\xs\ItemPSVI.java:

package org.apache.xerces.xs;

public interface ItemPSVI {
    public static final short VALIDITY_NOTKNOWN         = 0;
    public static final short VALIDITY_INVALID          = 1;
    public static final short VALIDITY_VALID            = 2;
    public static final short VALIDATION_NONE           = 0;
    public static final short VALIDATION_PARTIAL        = 1;
    public static final short VALIDATION_FULL           = 2;
    public String getValidationContext();

    public short getValidity();

    public short getValidationAttempted();

    public StringList getErrorCodes();

    public String getSchemaNormalizedValue();

    public Object getActualNormalizedValue()
                                   throws XSException;

    public short getActualNormalizedValueType()
                                   throws XSException;

    public ShortList getItemValueTypes()
                                   throws XSException;

    public XSTypeDefinition getTypeDefinition();

    public XSSimpleTypeDefinition getMemberTypeDefinition();

    public String getSchemaDefault();

    public boolean getSchemaSpecified();

}

org\apache\xerces\xs\ElementPSVI.java:

package org.apache.xerces.xs;

public interface ElementPSVI extends ItemPSVI {
    public XSElementDeclaration getElementDeclaration();

    public XSNotationDeclaration getNotation();

    public boolean getNil();

    public XSModel getSchemaInformation();

}

org\apache\xerces\xs\AttributePSVI.java:

package org.apache.xerces.xs;

public interface AttributePSVI extends ItemPSVI {
    public XSAttributeDeclaration getAttributeDeclaration();

}

org\apache\xerces\xs\PSVIProvider.java:

package org.apache.xerces.xs;

public interface PSVIProvider {
    public ElementPSVI getElementPSVI();

    public AttributePSVI getAttributePSVI(int index);

    public AttributePSVI getAttributePSVIByName(String uri, 
                                                String localname);

}

org\apache\xerces\xs\XSImplementation.java:

package org.apache.xerces.xs;

public interface XSImplementation {
    public StringList getRecognizedVersions();
    public void setRecognizedVersions(StringList recognizedVersions);

    public XSLoader createXSLoader(StringList versions)
                                   throws XSException;

}

org\apache\xerces\xs\XSLoader.java:

package org.apache.xerces.xs;

import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.ls.LSInput;

public interface XSLoader {
    public DOMConfiguration getConfig();

    public XSModel loadURIList(StringList uriList);

    public XSModel loadInputList(LSInputList is);

    public XSModel loadURI(String uri);

    public XSModel load(LSInput is);

}