mrglavas 2004/09/29 21:19:35 Modified: java/src/org/apache/xerces/impl/dv/xs XSSimpleTypeDecl.java SchemaDVFactoryImpl.java java/src/org/apache/xerces/impl/dv XSSimpleType.java java/src/org/apache/xerces/xs XSConstants.java Log: XML Schema 1.1: Various changes for new datatypes.
- added constants for anyAtomicType and precisionDecimal - added anyAtomicType to the type heirarchy - return duration for primitive kind of yearMonthDuration and dayTimeDuration Thanks to Ankit Pasricha for this contribution. Revision Changes Path 1.55 +86 -68 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java Index: XSSimpleTypeDecl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- XSSimpleTypeDecl.java 27 Sep 2004 15:42:02 -0000 1.54 +++ XSSimpleTypeDecl.java 30 Sep 2004 04:19:33 -0000 1.55 @@ -19,6 +19,7 @@ import java.util.StringTokenizer; import java.util.Vector; +import org.apache.xerces.impl.Constants; import org.apache.xerces.impl.dv.DatatypeException; import org.apache.xerces.impl.dv.InvalidDatatypeFacetException; import org.apache.xerces.impl.dv.InvalidDatatypeValueException; @@ -27,6 +28,12 @@ import org.apache.xerces.impl.dv.XSFacets; import org.apache.xerces.impl.dv.XSSimpleType; import org.apache.xerces.impl.xpath.regex.RegularExpression; +import org.apache.xerces.impl.xs.SchemaSymbols; +import org.apache.xerces.impl.xs.util.ShortListImpl; +import org.apache.xerces.impl.xs.util.StringListImpl; +import org.apache.xerces.impl.xs.util.XSObjectListImpl; +import org.apache.xerces.util.XMLChar; +import org.apache.xerces.xni.NamespaceContext; import org.apache.xerces.xs.StringList; import org.apache.xerces.xs.XSAnnotation; import org.apache.xerces.xs.XSConstants; @@ -36,12 +43,6 @@ import org.apache.xerces.xs.XSObjectList; import org.apache.xerces.xs.XSSimpleTypeDefinition; import org.apache.xerces.xs.XSTypeDefinition; -import org.apache.xerces.impl.xs.SchemaSymbols; -import org.apache.xerces.impl.xs.util.ShortListImpl; -import org.apache.xerces.impl.xs.util.StringListImpl; -import org.apache.xerces.impl.xs.util.XSObjectListImpl; -import org.apache.xerces.util.XMLChar; -import org.apache.xerces.xni.NamespaceContext; /** * @author Sandy Gao, IBM @@ -69,6 +70,7 @@ static final short DV_BASE64BINARY = PRIMITIVE_BASE64BINARY; static final short DV_ANYURI = PRIMITIVE_ANYURI; static final short DV_QNAME = PRIMITIVE_QNAME; + static final short DV_PRECISIONDECIMAL = PRIMITIVE_PRECISIONDECIMAL; static final short DV_NOTATION = PRIMITIVE_NOTATION; static final short DV_ANYSIMPLETYPE = 0; @@ -80,72 +82,77 @@ static final short DV_UNION = DV_NOTATION + 6; static final short DV_YEARMONTHDURATION = DV_NOTATION + 7; static final short DV_DAYTIMEDURATION = DV_NOTATION + 8; + static final short DV_ANYATOMICTYPE = DV_NOTATION + 9; static final TypeValidator[] fDVs = { - new AnySimpleDV(), - new StringDV(), - new BooleanDV(), - new DecimalDV(), - new FloatDV(), - new DoubleDV(), - new DurationDV(), - new DateTimeDV(), - new TimeDV(), - new DateDV(), - new YearMonthDV(), - new YearDV(), - new MonthDayDV(), - new DayDV(), - new MonthDV(), - new HexBinaryDV(), - new Base64BinaryDV(), - new AnyURIDV(), - new QNameDV(), - new QNameDV(), // notation use the same one as qname - new IDDV(), - new IDREFDV(), - new EntityDV(), - new IntegerDV(), - new ListDV(), - new UnionDV(), - new YearMonthDurationDV(), // XML Schema 1.1 type - new DayTimeDurationDV() // XML Schema 1.1 type + new AnySimpleDV(), + new StringDV(), + new BooleanDV(), + new DecimalDV(), + new FloatDV(), + new DoubleDV(), + new DurationDV(), + new DateTimeDV(), + new TimeDV(), + new DateDV(), + new YearMonthDV(), + new YearDV(), + new MonthDayDV(), + new DayDV(), + new MonthDV(), + new HexBinaryDV(), + new Base64BinaryDV(), + new AnyURIDV(), + new QNameDV(), + new PrecisionDecimalDV(), // XML Schema 1.1 type + new QNameDV(), // notation use the same one as qname + new IDDV(), + new IDREFDV(), + new EntityDV(), + new IntegerDV(), + new ListDV(), + new UnionDV(), + new YearMonthDurationDV(), // XML Schema 1.1 type + new DayTimeDurationDV(), // XML Schema 1.1 type + new AnyAtomicDV() // XML Schema 1.1 type }; - + static final short NORMALIZE_NONE = 0; static final short NORMALIZE_TRIM = 1; static final short NORMALIZE_FULL = 2; static final short[] fDVNormalizeType = { - NORMALIZE_NONE, //AnySimpleDV(), - NORMALIZE_FULL, //StringDV(), - NORMALIZE_TRIM, //BooleanDV(), - NORMALIZE_TRIM, //DecimalDV(), - NORMALIZE_TRIM, //FloatDV(), - NORMALIZE_TRIM, //DoubleDV(), - NORMALIZE_TRIM, //DurationDV(), - NORMALIZE_TRIM, //DateTimeDV(), - NORMALIZE_TRIM, //TimeDV(), - NORMALIZE_TRIM, //DateDV(), - NORMALIZE_TRIM, //YearMonthDV(), - NORMALIZE_TRIM, //YearDV(), - NORMALIZE_TRIM, //MonthDayDV(), - NORMALIZE_TRIM, //DayDV(), - NORMALIZE_TRIM, //MonthDV(), - NORMALIZE_TRIM, //HexBinaryDV(), - NORMALIZE_NONE, //Base64BinaryDV(), // Base64 know how to deal with spaces - NORMALIZE_TRIM, //AnyURIDV(), - NORMALIZE_TRIM, //QNameDV(), - NORMALIZE_TRIM, //QNameDV(), // notation - NORMALIZE_TRIM, //IDDV(), - NORMALIZE_TRIM, //IDREFDV(), - NORMALIZE_TRIM, //EntityDV(), - NORMALIZE_TRIM, //IntegerDV(), - NORMALIZE_FULL, //ListDV(), - NORMALIZE_NONE, //UnionDV(), - NORMALIZE_TRIM, //YearMonthDurationDV() (Schema 1.1) - NORMALIZE_TRIM, //DayTimeDurationDV() (Schema 1.1) + NORMALIZE_NONE, //AnySimpleDV(), + NORMALIZE_FULL, //StringDV(), + NORMALIZE_TRIM, //BooleanDV(), + NORMALIZE_TRIM, //DecimalDV(), + NORMALIZE_TRIM, //FloatDV(), + NORMALIZE_TRIM, //DoubleDV(), + NORMALIZE_TRIM, //DurationDV(), + NORMALIZE_TRIM, //DateTimeDV(), + NORMALIZE_TRIM, //TimeDV(), + NORMALIZE_TRIM, //DateDV(), + NORMALIZE_TRIM, //YearMonthDV(), + NORMALIZE_TRIM, //YearDV(), + NORMALIZE_TRIM, //MonthDayDV(), + NORMALIZE_TRIM, //DayDV(), + NORMALIZE_TRIM, //MonthDV(), + NORMALIZE_TRIM, //HexBinaryDV(), + NORMALIZE_NONE, //Base64BinaryDV(), // Base64 know how to deal with spaces + NORMALIZE_TRIM, //AnyURIDV(), + NORMALIZE_TRIM, //QNameDV(), + NORMALIZE_TRIM, //PrecisionDecimalDV() (Schema 1.1) + NORMALIZE_TRIM, //QNameDV(), // notation + NORMALIZE_TRIM, //IDDV(), + NORMALIZE_TRIM, //IDREFDV(), + NORMALIZE_TRIM, //EntityDV(), + NORMALIZE_TRIM, //IntegerDV(), + NORMALIZE_FULL, //ListDV(), + NORMALIZE_NONE, //UnionDV(), + NORMALIZE_TRIM, //YearMonthDurationDV() (Schema 1.1) + NORMALIZE_TRIM, //DayTimeDurationDV() (Schema 1.1) + NORMALIZE_NONE, //AnyAtomicDV() (Schema 1.1) }; - + static final short SPECIAL_PATTERN_NONE = 0; static final short SPECIAL_PATTERN_NMTOKEN = 1; static final short SPECIAL_PATTERN_NAME = 2; @@ -570,12 +577,18 @@ public short getPrimitiveKind() { if (fVariety == VARIETY_ATOMIC && fValidationDV != DV_ANYSIMPLETYPE) { - if (fValidationDV == DV_ID || fValidationDV == DV_IDREF || fValidationDV == DV_ENTITY) + if (fValidationDV == DV_ID || fValidationDV == DV_IDREF || fValidationDV == DV_ENTITY) { return DV_STRING; - else if (fValidationDV == DV_INTEGER) + } + else if (fValidationDV == DV_INTEGER) { return DV_DECIMAL; - else + } + else if (Constants.SCHEMA_1_1_SUPPORT && (fValidationDV == DV_YEARMONTHDURATION || fValidationDV == DV_DAYTIMEDURATION)) { + return DV_DURATION; + } + else { return fValidationDV; + } } else { // REVISIT: error situation. runtime exception? @@ -2255,6 +2268,9 @@ else if (validationDV == DV_INTEGER) { return DV_DECIMAL; } + else if (Constants.SCHEMA_1_1_SUPPORT && (validationDV == DV_YEARMONTHDURATION || validationDV == DV_DAYTIMEDURATION)) { + return DV_DURATION; + } else { return validationDV; } @@ -2530,6 +2546,8 @@ static final XSSimpleTypeDecl fAnySimpleType = new XSSimpleTypeDecl(null, "anySimpleType", DV_ANYSIMPLETYPE, ORDERED_FALSE, false, true, false, true, XSConstants.ANYSIMPLETYPE_DT); + static final XSSimpleTypeDecl fAnyAtomicType = new XSSimpleTypeDecl(fAnySimpleType, "anyAtomicType", DV_ANYATOMICTYPE, ORDERED_FALSE, false, true, false, true, XSConstants.ANYATOMICTYPE_DT); + /** * Validation context used to validate facet values. */ 1.17 +34 -20 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/SchemaDVFactoryImpl.java Index: SchemaDVFactoryImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/SchemaDVFactoryImpl.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- SchemaDVFactoryImpl.java 15 Sep 2004 05:12:23 -0000 1.16 +++ SchemaDVFactoryImpl.java 30 Sep 2004 04:19:34 -0000 1.17 @@ -140,6 +140,7 @@ static void createBuiltInTypes() { // all schema simple type names final String ANYSIMPLETYPE = "anySimpleType"; + final String ANYATOMICTYPE = "anyAtomicType"; final String ANYURI = "anyURI"; final String BASE64BINARY = "base64Binary"; final String BOOLEAN = "boolean"; @@ -186,37 +187,50 @@ final String YEARMONTH = "gYearMonth"; final String YEARMONTHDURATION = "yearMonthDuration"; final String DAYTIMEDURATION = "dayTimeDuration"; + final String PRECISIONDECIMAL = "precisionDecimal"; final XSFacets facets = new XSFacets(); //REVISIT: passing "anyType" here. XSSimpleTypeDecl anySimpleType = XSSimpleTypeDecl.fAnySimpleType; + XSSimpleTypeDecl anyAtomicType = XSSimpleTypeDecl.fAnyAtomicType; + XSSimpleTypeDecl baseAtomicType = null; + + if (Constants.SCHEMA_1_1_SUPPORT) { + baseAtomicType = anyAtomicType; + fBuiltInTypes.put(ANYATOMICTYPE, anyAtomicType); + } + else { + baseAtomicType = anySimpleType; + } + fBuiltInTypes.put(ANYSIMPLETYPE, anySimpleType); - XSSimpleTypeDecl stringDV = new XSSimpleTypeDecl(anySimpleType, STRING, XSSimpleTypeDecl.DV_STRING, XSSimpleType.ORDERED_FALSE, false, false, false , true, XSConstants.STRING_DT); + XSSimpleTypeDecl stringDV = new XSSimpleTypeDecl(baseAtomicType, STRING, XSSimpleTypeDecl.DV_STRING, XSSimpleType.ORDERED_FALSE, false, false, false , true, XSConstants.STRING_DT); fBuiltInTypes.put(STRING, stringDV); - fBuiltInTypes.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); + fBuiltInTypes.put(BOOLEAN, new XSSimpleTypeDecl(baseAtomicType, BOOLEAN, XSSimpleTypeDecl.DV_BOOLEAN, XSSimpleType.ORDERED_FALSE, false, true, false, true, XSConstants.BOOLEAN_DT)); + XSSimpleTypeDecl decimalDV = new XSSimpleTypeDecl(baseAtomicType, DECIMAL, XSSimpleTypeDecl.DV_DECIMAL, XSSimpleType.ORDERED_TOTAL, false, false, true, true, XSConstants.DECIMAL_DT); fBuiltInTypes.put(DECIMAL, decimalDV); - fBuiltInTypes.put(ANYURI, new XSSimpleTypeDecl(anySimpleType, ANYURI, XSSimpleTypeDecl.DV_ANYURI, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.ANYURI_DT)); - fBuiltInTypes.put(BASE64BINARY, new XSSimpleTypeDecl(anySimpleType, BASE64BINARY, XSSimpleTypeDecl.DV_BASE64BINARY, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.BASE64BINARY_DT)); + fBuiltInTypes.put(ANYURI, new XSSimpleTypeDecl(baseAtomicType, ANYURI, XSSimpleTypeDecl.DV_ANYURI, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.ANYURI_DT)); + fBuiltInTypes.put(BASE64BINARY, new XSSimpleTypeDecl(baseAtomicType, BASE64BINARY, XSSimpleTypeDecl.DV_BASE64BINARY, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.BASE64BINARY_DT)); - XSSimpleTypeDecl durationDV = new XSSimpleTypeDecl(anySimpleType, DURATION, XSSimpleTypeDecl.DV_DURATION, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DURATION_DT); + XSSimpleTypeDecl durationDV = new XSSimpleTypeDecl(baseAtomicType, DURATION, XSSimpleTypeDecl.DV_DURATION, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DURATION_DT); fBuiltInTypes.put(DURATION, durationDV); if (Constants.SCHEMA_1_1_SUPPORT) { fBuiltInTypes.put(YEARMONTHDURATION, new XSSimpleTypeDecl(durationDV, YEARMONTHDURATION, XSSimpleTypeDecl.DV_YEARMONTHDURATION, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.YEARMONTHDURATION_DT)); fBuiltInTypes.put(DAYTIMEDURATION, new XSSimpleTypeDecl(durationDV, DAYTIMEDURATION, XSSimpleTypeDecl.DV_DAYTIMEDURATION, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DAYTIMEDURATION_DT)); + //fBuiltInTypes.put(PRECISIONDECIMAL, new XSSimpleTypeDecl(anySimpleType, PRECISIONDECIMAL, XSSimpleTypeDecl.DV_PRECISIONDECIMAL, XSSimpleType.ORDERED_PARTIAL, false, false, true, true, XSConstants.PRECISIONDECIMAL_DT)); } - fBuiltInTypes.put(DATETIME, new XSSimpleTypeDecl(anySimpleType, DATETIME, XSSimpleTypeDecl.DV_DATETIME, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DATETIME_DT)); - fBuiltInTypes.put(TIME, new XSSimpleTypeDecl(anySimpleType, TIME, XSSimpleTypeDecl.DV_TIME, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.TIME_DT)); - fBuiltInTypes.put(DATE, new XSSimpleTypeDecl(anySimpleType, DATE, XSSimpleTypeDecl.DV_DATE, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DATE_DT)); - fBuiltInTypes.put(YEARMONTH, new XSSimpleTypeDecl(anySimpleType, YEARMONTH, XSSimpleTypeDecl.DV_GYEARMONTH, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GYEARMONTH_DT)); - fBuiltInTypes.put(YEAR, new XSSimpleTypeDecl(anySimpleType, YEAR, XSSimpleTypeDecl.DV_GYEAR, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GYEAR_DT)); - fBuiltInTypes.put(MONTHDAY, new XSSimpleTypeDecl(anySimpleType, MONTHDAY, XSSimpleTypeDecl.DV_GMONTHDAY, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GMONTHDAY_DT)); - fBuiltInTypes.put(DAY, new XSSimpleTypeDecl(anySimpleType, DAY, XSSimpleTypeDecl.DV_GDAY, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GDAY_DT)); - fBuiltInTypes.put(MONTH, new XSSimpleTypeDecl(anySimpleType, MONTH, XSSimpleTypeDecl.DV_GMONTH, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GMONTH_DT)); + fBuiltInTypes.put(DATETIME, new XSSimpleTypeDecl(baseAtomicType, DATETIME, XSSimpleTypeDecl.DV_DATETIME, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DATETIME_DT)); + fBuiltInTypes.put(TIME, new XSSimpleTypeDecl(baseAtomicType, TIME, XSSimpleTypeDecl.DV_TIME, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.TIME_DT)); + fBuiltInTypes.put(DATE, new XSSimpleTypeDecl(baseAtomicType, DATE, XSSimpleTypeDecl.DV_DATE, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.DATE_DT)); + fBuiltInTypes.put(YEARMONTH, new XSSimpleTypeDecl(baseAtomicType, YEARMONTH, XSSimpleTypeDecl.DV_GYEARMONTH, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GYEARMONTH_DT)); + fBuiltInTypes.put(YEAR, new XSSimpleTypeDecl(baseAtomicType, YEAR, XSSimpleTypeDecl.DV_GYEAR, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GYEAR_DT)); + fBuiltInTypes.put(MONTHDAY, new XSSimpleTypeDecl(baseAtomicType, MONTHDAY, XSSimpleTypeDecl.DV_GMONTHDAY, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GMONTHDAY_DT)); + fBuiltInTypes.put(DAY, new XSSimpleTypeDecl(baseAtomicType, DAY, XSSimpleTypeDecl.DV_GDAY, XSSimpleType.ORDERED_PARTIAL, false, false, false, true, XSConstants.GDAY_DT)); + fBuiltInTypes.put(MONTH, new XSSimpleTypeDecl(baseAtomicType, 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); fBuiltInTypes.put(INTEGER, integerDV); @@ -287,10 +301,10 @@ fBuiltInTypes.put(POSITIVEINTEGER, positiveIntegerDV); - fBuiltInTypes.put(FLOAT, new XSSimpleTypeDecl(anySimpleType, FLOAT, XSSimpleTypeDecl.DV_FLOAT, XSSimpleType.ORDERED_PARTIAL, true, true, true, true, XSConstants.FLOAT_DT)); - fBuiltInTypes.put(DOUBLE, new XSSimpleTypeDecl(anySimpleType, DOUBLE, XSSimpleTypeDecl.DV_DOUBLE, XSSimpleType.ORDERED_PARTIAL, true, true, true, true, XSConstants.DOUBLE_DT)); - fBuiltInTypes.put(HEXBINARY, new XSSimpleTypeDecl(anySimpleType, HEXBINARY, XSSimpleTypeDecl.DV_HEXBINARY, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.HEXBINARY_DT)); - fBuiltInTypes.put(NOTATION, new XSSimpleTypeDecl(anySimpleType, NOTATION, XSSimpleTypeDecl.DV_NOTATION, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.NOTATION_DT)); + fBuiltInTypes.put(FLOAT, new XSSimpleTypeDecl(baseAtomicType, FLOAT, XSSimpleTypeDecl.DV_FLOAT, XSSimpleType.ORDERED_PARTIAL, true, true, true, true, XSConstants.FLOAT_DT)); + fBuiltInTypes.put(DOUBLE, new XSSimpleTypeDecl(baseAtomicType, DOUBLE, XSSimpleTypeDecl.DV_DOUBLE, XSSimpleType.ORDERED_PARTIAL, true, true, true, true, XSConstants.DOUBLE_DT)); + fBuiltInTypes.put(HEXBINARY, new XSSimpleTypeDecl(baseAtomicType, HEXBINARY, XSSimpleTypeDecl.DV_HEXBINARY, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.HEXBINARY_DT)); + fBuiltInTypes.put(NOTATION, new XSSimpleTypeDecl(baseAtomicType, NOTATION, XSSimpleTypeDecl.DV_NOTATION, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.NOTATION_DT)); facets.whiteSpace = XSSimpleType.WS_REPLACE; @@ -320,7 +334,7 @@ ncnameDV.applyFacets1(facets, XSSimpleType.FACET_WHITESPACE, (short)0, XSSimpleTypeDecl.SPECIAL_PATTERN_NCNAME); fBuiltInTypes.put(NCNAME, ncnameDV); - fBuiltInTypes.put(QNAME, new XSSimpleTypeDecl(anySimpleType, QNAME, XSSimpleTypeDecl.DV_QNAME, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.QNAME_DT)); + fBuiltInTypes.put(QNAME, new XSSimpleTypeDecl(baseAtomicType, QNAME, XSSimpleTypeDecl.DV_QNAME, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.QNAME_DT)); fBuiltInTypes.put(ID, new XSSimpleTypeDecl(ncnameDV, ID, XSSimpleTypeDecl.DV_ID, XSSimpleType.ORDERED_FALSE, false, false, false , true, XSConstants.ID_DT)); XSSimpleTypeDecl idrefDV = new XSSimpleTypeDecl(ncnameDV, IDREF , XSSimpleTypeDecl.DV_IDREF, XSSimpleType.ORDERED_FALSE, false, false, false, true, XSConstants.IDREF_DT); 1.15 +4 -2 xml-xerces/java/src/org/apache/xerces/impl/dv/XSSimpleType.java Index: XSSimpleType.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/XSSimpleType.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- XSSimpleType.java 24 Feb 2004 22:44:25 -0000 1.14 +++ XSSimpleType.java 30 Sep 2004 04:19:34 -0000 1.15 @@ -84,8 +84,10 @@ public static final short PRIMITIVE_ANYURI = 17; /** "QName" type */ public static final short PRIMITIVE_QNAME = 18; + /** "precisionDecimal" type */ + public static final short PRIMITIVE_PRECISIONDECIMAL = 19; /** "NOTATION" type */ - public static final short PRIMITIVE_NOTATION = 19; + public static final short PRIMITIVE_NOTATION = 20; /** * return an ID representing the built-in primitive base type. 1.6 +12 -2 xml-xerces/java/src/org/apache/xerces/xs/XSConstants.java Index: XSConstants.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/xs/XSConstants.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- XSConstants.java 15 Sep 2004 05:12:24 -0000 1.5 +++ XSConstants.java 30 Sep 2004 04:19:34 -0000 1.6 @@ -332,10 +332,20 @@ * represent a restricted duration containing the day and * time portion of the duration value space. */ - public static final short DAYTIMEDURATION_DT = 46; + public static final short DAYTIMEDURATION_DT = 46; + /** + * precisionDecimal + * + * The type represents new datatype introduced in Schema 1.1 + */ + public static final short PRECISIONDECIMAL_DT = 47; + /** + * anyAtomicType + */ + public static final short ANYATOMICTYPE_DT = 48; /** * The built-in type category is not available. */ - public static final short UNAVAILABLE_DT = 47; + public static final short UNAVAILABLE_DT = 49; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]