Пример #1
0
 /**
  * Get a built-in simple type of the given name REVISIT: its still not decided within the Schema
  * WG how to define the ur-types and if all simple types should be derived from a complex type, so
  * as of now we ignore the fact that anySimpleType is derived from anyType, and pass 'null' as the
  * base of anySimpleType. It needs to be changed as per the decision taken.
  *
  * @param name the name of the datatype
  * @return the datatype validator of the given name
  */
 public XSSimpleType getBuiltInType(String name) {
   return (XSSimpleType) fBaseTypes.get(name);
 }
Пример #2
0
 /**
  * get all built-in simple types, which are stored in a hashtable keyed by the name
  *
  * @return a hashtable which contains all built-in simple types
  */
 public SymbolHash getBuiltInTypes() {
   return (SymbolHash) fBaseTypes.makeClone();
 }
Пример #3
0
  // create all built-in types
  static void createBuiltInTypes(SymbolHash types) {
    // base schema simple type names
    final String ANYSIMPLETYPE = "anySimpleType";
    final String ANYURI = "anyURI";
    final String BASE64BINARY = "base64Binary";
    final String BOOLEAN = "boolean";
    final String BYTE = "byte";
    final String DATE = "date";
    final String DATETIME = "dateTime";
    final String DAY = "gDay";
    final String DECIMAL = "decimal";
    final String INT = "int";
    final String INTEGER = "integer";
    final String LONG = "long";
    final String NEGATIVEINTEGER = "negativeInteger";
    final String MONTH = "gMonth";
    final String MONTHDAY = "gMonthDay";
    final String NONNEGATIVEINTEGER = "nonNegativeInteger";
    final String NONPOSITIVEINTEGER = "nonPositiveInteger";
    final String POSITIVEINTEGER = "positiveInteger";
    final String SHORT = "short";
    final String STRING = "string";
    final String TIME = "time";
    final String UNSIGNEDBYTE = "unsignedByte";
    final String UNSIGNEDINT = "unsignedInt";
    final String UNSIGNEDLONG = "unsignedLong";
    final String UNSIGNEDSHORT = "unsignedShort";
    final String YEAR = "gYear";
    final String YEARMONTH = "gYearMonth";

    final XSFacets facets = new XSFacets();

    XSSimpleTypeDecl anySimpleType = XSSimpleTypeDecl.fAnySimpleType;
    types.put(ANYSIMPLETYPE, anySimpleType);
    XSSimpleTypeDecl stringDV =
        new XSSimpleTypeDecl(
            anySimpleType,
            STRING,
            XSSimpleTypeDecl.DV_STRING,
            XSSimpleType.ORDERED_FALSE,
            false,
            false,
            false,
            true,
            XSConstants.STRING_DT);
    types.put(STRING, stringDV);
    types.put(
        BOOLEAN,
        new XSSimpleTypeDecl(
            anySimpleType,
            BOOLEAN,
            XSSimpleTypeDecl.DV_BOOLEAN,
            XSSimpleType.ORDERED_FALSE,
            false,
            true,
            false,
            true,
            XSConstants.BOOLEAN_DT));
    XSSimpleTypeDecl decimalDV =
        new XSSimpleTypeDecl(
            anySimpleType,
            DECIMAL,
            XSSimpleTypeDecl.DV_DECIMAL,
            XSSimpleType.ORDERED_TOTAL,
            false,
            false,
            true,
            true,
            XSConstants.DECIMAL_DT);
    types.put(DECIMAL, decimalDV);

    types.put(
        ANYURI,
        new XSSimpleTypeDecl(
            anySimpleType,
            ANYURI,
            XSSimpleTypeDecl.DV_ANYURI,
            XSSimpleType.ORDERED_FALSE,
            false,
            false,
            false,
            true,
            XSConstants.ANYURI_DT));
    types.put(
        BASE64BINARY,
        new XSSimpleTypeDecl(
            anySimpleType,
            BASE64BINARY,
            XSSimpleTypeDecl.DV_BASE64BINARY,
            XSSimpleType.ORDERED_FALSE,
            false,
            false,
            false,
            true,
            XSConstants.BASE64BINARY_DT));
    types.put(
        DATETIME,
        new XSSimpleTypeDecl(
            anySimpleType,
            DATETIME,
            XSSimpleTypeDecl.DV_DATETIME,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.DATETIME_DT));
    types.put(
        TIME,
        new XSSimpleTypeDecl(
            anySimpleType,
            TIME,
            XSSimpleTypeDecl.DV_TIME,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.TIME_DT));
    types.put(
        DATE,
        new XSSimpleTypeDecl(
            anySimpleType,
            DATE,
            XSSimpleTypeDecl.DV_DATE,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.DATE_DT));
    types.put(
        YEARMONTH,
        new XSSimpleTypeDecl(
            anySimpleType,
            YEARMONTH,
            XSSimpleTypeDecl.DV_GYEARMONTH,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.GYEARMONTH_DT));
    types.put(
        YEAR,
        new XSSimpleTypeDecl(
            anySimpleType,
            YEAR,
            XSSimpleTypeDecl.DV_GYEAR,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.GYEAR_DT));
    types.put(
        MONTHDAY,
        new XSSimpleTypeDecl(
            anySimpleType,
            MONTHDAY,
            XSSimpleTypeDecl.DV_GMONTHDAY,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.GMONTHDAY_DT));
    types.put(
        DAY,
        new XSSimpleTypeDecl(
            anySimpleType,
            DAY,
            XSSimpleTypeDecl.DV_GDAY,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.GDAY_DT));
    types.put(
        MONTH,
        new XSSimpleTypeDecl(
            anySimpleType,
            MONTH,
            XSSimpleTypeDecl.DV_GMONTH,
            XSSimpleType.ORDERED_PARTIAL,
            false,
            false,
            false,
            true,
            XSConstants.GMONTH_DT));

    XSSimpleTypeDecl integerDV =
        new XSSimpleTypeDecl(
            decimalDV,
            INTEGER,
            XSSimpleTypeDecl.DV_INTEGER,
            XSSimpleType.ORDERED_TOTAL,
            false,
            false,
            true,
            true,
            XSConstants.INTEGER_DT);
    types.put(INTEGER, integerDV);

    facets.maxInclusive = "0";
    XSSimpleTypeDecl nonPositiveDV =
        new XSSimpleTypeDecl(
            integerDV,
            NONPOSITIVEINTEGER,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.NONPOSITIVEINTEGER_DT);
    nonPositiveDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(NONPOSITIVEINTEGER, nonPositiveDV);

    facets.maxInclusive = "-1";
    XSSimpleTypeDecl negativeDV =
        new XSSimpleTypeDecl(
            integerDV,
            NEGATIVEINTEGER,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.NEGATIVEINTEGER_DT);
    negativeDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(NEGATIVEINTEGER, negativeDV);

    facets.maxInclusive = "9223372036854775807";
    facets.minInclusive = "-9223372036854775808";
    XSSimpleTypeDecl longDV =
        new XSSimpleTypeDecl(
            integerDV, LONG, URI_SCHEMAFORSCHEMA, (short) 0, false, null, XSConstants.LONG_DT);
    longDV.applyFacets1(
        facets,
        (short) (XSSimpleType.FACET_MAXINCLUSIVE | XSSimpleType.FACET_MININCLUSIVE),
        (short) 0);
    types.put(LONG, longDV);

    facets.maxInclusive = "2147483647";
    facets.minInclusive = "-2147483648";
    XSSimpleTypeDecl intDV =
        new XSSimpleTypeDecl(
            longDV, INT, URI_SCHEMAFORSCHEMA, (short) 0, false, null, XSConstants.INT_DT);
    intDV.applyFacets1(
        facets,
        (short) (XSSimpleType.FACET_MAXINCLUSIVE | XSSimpleType.FACET_MININCLUSIVE),
        (short) 0);
    types.put(INT, intDV);

    facets.maxInclusive = "32767";
    facets.minInclusive = "-32768";
    XSSimpleTypeDecl shortDV =
        new XSSimpleTypeDecl(
            intDV, SHORT, URI_SCHEMAFORSCHEMA, (short) 0, false, null, XSConstants.SHORT_DT);
    shortDV.applyFacets1(
        facets,
        (short) (XSSimpleType.FACET_MAXINCLUSIVE | XSSimpleType.FACET_MININCLUSIVE),
        (short) 0);
    types.put(SHORT, shortDV);

    facets.maxInclusive = "127";
    facets.minInclusive = "-128";
    XSSimpleTypeDecl byteDV =
        new XSSimpleTypeDecl(
            shortDV, BYTE, URI_SCHEMAFORSCHEMA, (short) 0, false, null, XSConstants.BYTE_DT);
    byteDV.applyFacets1(
        facets,
        (short) (XSSimpleType.FACET_MAXINCLUSIVE | XSSimpleType.FACET_MININCLUSIVE),
        (short) 0);
    types.put(BYTE, byteDV);

    facets.minInclusive = "0";
    XSSimpleTypeDecl nonNegativeDV =
        new XSSimpleTypeDecl(
            integerDV,
            NONNEGATIVEINTEGER,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.NONNEGATIVEINTEGER_DT);
    nonNegativeDV.applyFacets1(facets, XSSimpleType.FACET_MININCLUSIVE, (short) 0);
    types.put(NONNEGATIVEINTEGER, nonNegativeDV);

    facets.maxInclusive = "18446744073709551615";
    XSSimpleTypeDecl unsignedLongDV =
        new XSSimpleTypeDecl(
            nonNegativeDV,
            UNSIGNEDLONG,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.UNSIGNEDLONG_DT);
    unsignedLongDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(UNSIGNEDLONG, unsignedLongDV);

    facets.maxInclusive = "4294967295";
    XSSimpleTypeDecl unsignedIntDV =
        new XSSimpleTypeDecl(
            unsignedLongDV,
            UNSIGNEDINT,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.UNSIGNEDINT_DT);
    unsignedIntDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(UNSIGNEDINT, unsignedIntDV);

    facets.maxInclusive = "65535";
    XSSimpleTypeDecl unsignedShortDV =
        new XSSimpleTypeDecl(
            unsignedIntDV,
            UNSIGNEDSHORT,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.UNSIGNEDSHORT_DT);
    unsignedShortDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(UNSIGNEDSHORT, unsignedShortDV);

    facets.maxInclusive = "255";
    XSSimpleTypeDecl unsignedByteDV =
        new XSSimpleTypeDecl(
            unsignedShortDV,
            UNSIGNEDBYTE,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.UNSIGNEDBYTE_DT);
    unsignedByteDV.applyFacets1(facets, XSSimpleType.FACET_MAXINCLUSIVE, (short) 0);
    types.put(UNSIGNEDBYTE, unsignedByteDV);

    facets.minInclusive = "1";
    XSSimpleTypeDecl positiveIntegerDV =
        new XSSimpleTypeDecl(
            nonNegativeDV,
            POSITIVEINTEGER,
            URI_SCHEMAFORSCHEMA,
            (short) 0,
            false,
            null,
            XSConstants.POSITIVEINTEGER_DT);
    positiveIntegerDV.applyFacets1(facets, XSSimpleType.FACET_MININCLUSIVE, (short) 0);
    types.put(POSITIVEINTEGER, positiveIntegerDV);
  } // createBuiltInTypes(SymbolHash)