Hi,

        Added fundamental facet support in DV implementation. Classes modified 
are XSSimpleTypeDecl, SchemaDVFactoryImpl and XSSimpleType. Please find 
attatched patches for same.

--
Neeraj Bajaj
Sun Microsystems, inc.

Phone: 080-2298989 x87425.

[Attatched File1: patch_XSSimpleType
Attatched File2: patch_XSSimpleTypeDecl
Attatched File3: patch_SchemaDVFactoryImpl]
Index: XSSimpleType.java
===================================================================
RCS file: 
/home/cvspublic/xml-xerces/java/src/org/apache/xerces/impl/dv/XSSimpleType.java,v
retrieving revision 1.3
diff -u -r1.3 XSSimpleType.java
--- XSSimpleType.java   6 Dec 2001 23:11:55 -0000       1.3
+++ XSSimpleType.java   3 Jan 2002 10:10:16 -0000
@@ -248,8 +248,8 @@
     // REVISIT: the following methods are for PSVI. they are not implemented yet.
     //public XSFacet[] getFacets();
     // the following four are for fundamental facets
-    //public short getOrderedFacet();
-    //public boolean isBounded();
-    //public boolean isNumeric();
-    //public short getCardinalityFacet();
+    public short getOrderedFacet();
+    public boolean isBounded();
+    public boolean isNumeric();
+    public short getCardinalityFacet();
 }
Index: XSSimpleTypeDecl.java
===================================================================
RCS file: 
/home/cvspublic/xml-xerces/java/src/org/apache/xerces/impl/dv/xs_new/XSSimpleTypeDecl.java,v
retrieving revision 1.3
diff -u -r1.3 XSSimpleTypeDecl.java
--- XSSimpleTypeDecl.java       30 Nov 2001 19:29:22 -0000      1.3
+++ XSSimpleTypeDecl.java       3 Jan 2002 16:45:51 -0000
@@ -162,24 +162,32 @@
     private short fFacetsDefined = 0;
     private short fFixedFacet = 0;
 
+    //for constraining facets 
     private short fWhiteSpace = 0;
     private int fLength = -1;
     private int fMinLength = -1;
     private int fMaxLength = -1;
     private int fTotalDigits = -1;
     private int fFractionDigits = -1;
-    private short fTokenType = SPECIAL_TOKEN_NONE;
     private Vector fPattern;
     private Vector fEnumeration;
     private Object fMaxInclusive;
     private Object fMaxExclusive;
     private Object fMinExclusive;
     private Object fMinInclusive;
+    
+    private short fTokenType = SPECIAL_TOKEN_NONE;
+    
+    // for fundamental facet
+    private short fOrdered;
+    private short fCardinality;
+    private boolean fBounded;
+    private boolean fNumeric;
 
     private ValidatedInfo fTempInfo = new ValidatedInfo();
 
     //Create a new built-in primitive types (and id/idref/entity)
-    protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, short validateDV) {
+    protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, short validateDV, 
+short ordered, boolean bounded, short cardinality,  boolean numeric ) {
         fBase = base;
         fTypeName = name;
         fTargetNamespace = SchemaDVFactoryImpl.URI_SCHEMAFORSCHEMA;
@@ -195,8 +203,16 @@
             fWhiteSpace = WS_COLLAPSE;
             fFixedFacet = FACET_WHITESPACE;
         }
+        //these values are not set for anySimpleType
+        if(validateDV != DV_ANYSIMPLETYPE){
+            fOrdered = ordered;
+            fCardinality = cardinality;
+            fBounded = bounded;
+            fNumeric = numeric;               
+        }
     }
 
+    
     //Create a new simple type for restriction.
     protected XSSimpleTypeDecl(XSSimpleTypeDecl base, String name, String uri, short 
finalSet) {
         fBase = base;
@@ -235,6 +251,12 @@
         fTokenType = fBase.fTokenType;
         fFixedFacet = fBase.fFixedFacet;
         fFacetsDefined = fBase.fFacetsDefined;
+        
+        //we also set fundamental facets information in case applyFacets is not 
+called.
+        setOrdered();
+        setNumeric();
+        setBounded();
+        setCardinality();
     }
 
     //Create a new simple type for list.
@@ -250,6 +272,12 @@
         fFacetsDefined = FACET_WHITESPACE;
         fFixedFacet = FACET_WHITESPACE;
         fWhiteSpace = WS_COLLAPSE;
+
+        //setting fundamental facets
+        setOrdered();
+        setNumeric();
+        setBounded();
+        setCardinality();
     }
 
     //Create a new simple type for union.
@@ -268,6 +296,13 @@
         // if fFacetsDefined != 0
         fFacetsDefined = FACET_WHITESPACE;
         fWhiteSpace = WS_COLLAPSE;
+        
+        //setting fundamental facets
+        setOrdered();
+        setNumeric();
+        setBounded();
+        setCardinality();
+        
     }
 
     public short getXSType () {
@@ -301,7 +336,6 @@
     public short getDefinedFacets() {
         return fFacetsDefined;
     }
-
     public boolean isIDType(){
         return (fValidationDV == DV_ID);
     }
@@ -310,6 +344,7 @@
         return (fValidationDV == DV_NOTATION);
     }
 
+    
     // REVISIT
     public XSSimpleType getPrimitiveType() {
         if (fVariety == VARIETY_ATOMIC)
@@ -1009,9 +1044,13 @@
         // step 5: mark fixed values
         fFixedFacet |= fBase.fFixedFacet;
 
-        //inherit baseBuiltInTypeName.
+        //step 6: setting fundamental facets
+        setOrdered();
+        setNumeric();
+        setBounded();
+        setCardinality();
 
-    } //init4Restriction()
+    } //applyFacets()
 
     /**
      * validate a value, and return the compiled form
@@ -1442,6 +1481,195 @@
         }
     }
 
-    static final XSSimpleTypeDecl fAnySimpleType = new XSSimpleTypeDecl(null, 
"anySimpleType", DV_ANYSIMPLETYPE);
+    public short getOrderedFacet() {
+        return fOrdered;
+    }
+    
+    public boolean isBounded(){
+        return fBounded;
+    }
+    
+    public short getCardinalityFacet(){
+        return fCardinality;
+    }
+    
+    public boolean isNumeric(){
+        return fNumeric;
+    }
+
+    
+    private void setOrdered(){
+        if(fVariety == VARIETY_ATOMIC){
+            this.fOrdered = fBase.fOrdered;
+        }
+        else if(fVariety == VARIETY_LIST){
+            this.fOrdered = ORDERED_FALSE;
+        }
+        else if(fVariety == VARIETY_UNION){
+            
+            XSSimpleTypeDecl [] memberTypes = this.fMemberTypes;            
+            short ancestorId = 0 ;            
+            if(memberTypes.length > 0){
+                ancestorId = getPrimitiveDV(memberTypes[0].fValidationDV);
+                this.fOrdered = memberTypes[0].fOrdered ;
+            }            
+            // do we need two loops ?
+            boolean isOrderFalse = true;                        
+            for(int i = 0 ; i < memberTypes.length ; i++){
+                 
+                if(!(memberTypes[i].getOrderedFacet() == ORDERED_FALSE) ){
+                    isOrderFalse = false;
+                    break;
+                }
+                
+            }            
+            if(isOrderFalse){
+                this.fOrdered = ORDERED_FALSE;
+                return;
+            }
+            
+             for(int i = 0 ; i < memberTypes.length ; i++){
+                if( (ancestorId != getPrimitiveDV(memberTypes[i].fValidationDV)) || 
+(ancestorId == DV_ANYSIMPLETYPE) ){
+                    this.fOrdered = ORDERED_PARTIAL;
+                    return;
+                }
+             }                         
+             return;   
+        } 
+        
+    }//setOrdered
+    
+    
+    private void setNumeric(){
+        if(fVariety == VARIETY_ATOMIC){
+            this.fNumeric = fBase.fNumeric;
+        }
+        else if(fVariety == VARIETY_LIST){
+            this.fNumeric = false;
+        }
+        else if(fVariety == VARIETY_UNION){
+            XSSimpleType [] memberTypes = this.getMemberTypes();
+            for(int i = 0 ; i < memberTypes.length ; i++){
+                if( ! memberTypes[i].isNumeric() ){
+                    this.fNumeric = false;
+                    return;                    
+                }
+            }
+            this.fNumeric = true;
+        }
+        
+    }//setNumeric
+    
+    private void setBounded(){
+        if(fVariety == VARIETY_ATOMIC){
+            if( (((this.fFacetsDefined & FACET_MININCLUSIVE) != 0)  || 
+((this.fFacetsDefined & FACET_MINEXCLUSIVE) != 0)) 
+                &&  (((this.fFacetsDefined & FACET_MAXINCLUSIVE) != 0)  || 
+((this.fFacetsDefined & FACET_MAXEXCLUSIVE) != 0)) ){
+                this.fBounded = true;
+            }
+            else{
+                this.fBounded = false;
+            }
+        }
+        else if(fVariety == VARIETY_LIST){
+            if( ((this.fFacetsDefined & FACET_LENGTH) != 0 ) || ( 
+((this.fFacetsDefined & FACET_MINLENGTH) != 0 ) 
+                                                            &&  ((this.fFacetsDefined 
+& FACET_MAXLENGTH) != 0 )) ){
+                this.fBounded = true;
+            }
+            else{
+                this.fBounded = false;
+            }
+            
+        }
+        else if(fVariety == VARIETY_UNION){
+            
+            XSSimpleTypeDecl [] memberTypes = this.fMemberTypes;            
+            short ancestorId = 0 ;
+            
+            if(memberTypes.length > 0){
+                ancestorId = getPrimitiveDV(memberTypes[0].fValidationDV);
+            }            
+            
+            for(int i = 0 ; i < memberTypes.length ; i++){
+                if( ! memberTypes[i].isBounded() || (ancestorId != 
+getPrimitiveDV(memberTypes[i].fValidationDV)) ){
+                    this.fBounded = false; 
+                    return;                    
+                }
+            }
+            this.fBounded = true;             
+        }
+        
+    }//setBounded
+    
+    private short getPrimitiveDV(short validationDV){
+        
+        if (validationDV == DV_ID || validationDV == DV_IDREF || validationDV == 
+DV_ENTITY){
+            return DV_STRING;
+        }
+        else{
+            return validationDV;
+        }
+        
+    }//getPrimitiveDV()
+    
+    private boolean specialCardinalityCheck(){
+        if( (fBase.fValidationDV == XSSimpleTypeDecl.DV_DATE) || (fBase.fValidationDV 
+== XSSimpleTypeDecl.DV_GYEARMONTH) 
+            || (fBase.fValidationDV == XSSimpleTypeDecl.DV_GYEAR) || 
+(fBase.fValidationDV == XSSimpleTypeDecl.DV_GMONTHDAY) 
+                || (fBase.fValidationDV == XSSimpleTypeDecl.DV_GDAY) || 
+(fBase.fValidationDV == XSSimpleTypeDecl.DV_GMONTH) ){    
+                return true;
+        }
+        return false;
+    
+    } //specialCardinalityCheck()
+    
+    private void setCardinality(){
+        if(fVariety == VARIETY_ATOMIC){
+            if(fBase.fCardinality == CARDINALITY_FINITE){
+                this.fCardinality = CARDINALITY_FINITE;
+            }
+            else if(fBase.fCardinality == CARDINALITY_COUNTABLY_INFINITE){
+                if ( ((this.fFacetsDefined & FACET_LENGTH) != 0 ) || 
+((this.fFacetsDefined & FACET_MAXLENGTH) != 0 )
+                                                                || 
+((this.fFacetsDefined & FACET_TOTALDIGITS) != 0 ) ){
+                    this.fCardinality = CARDINALITY_FINITE;
+                }
+                else if(  (((this.fFacetsDefined & FACET_MININCLUSIVE) != 0 ) || 
+((this.fFacetsDefined & FACET_MINEXCLUSIVE) != 0 ))
+                        && (((this.fFacetsDefined & FACET_MAXINCLUSIVE) != 0 ) || 
+((this.fFacetsDefined & FACET_MAXEXCLUSIVE) != 0 )) ){
+                            if( ((this.fFacetsDefined & FACET_FRACTIONDIGITS) != 0 ) 
+|| specialCardinalityCheck()){
+                                this.fCardinality = CARDINALITY_FINITE;
+                            }
+                            else{
+                                this.fCardinality = CARDINALITY_COUNTABLY_INFINITE;
+                            } 
+                }
+                else{
+                    this.fCardinality = CARDINALITY_COUNTABLY_INFINITE;
+                }                                                
+            }
+        } 
+        else if(fVariety == VARIETY_LIST){
+            if( ((this.fFacetsDefined & FACET_LENGTH) != 0 ) || ( 
+((this.fFacetsDefined & FACET_MINLENGTH) != 0 ) 
+                                                            && ((this.fFacetsDefined 
+& FACET_MAXLENGTH) != 0 )) ){
+                this.fCardinality = CARDINALITY_FINITE;
+            }
+            else{
+                this.fCardinality = CARDINALITY_COUNTABLY_INFINITE;
+            }
+            
+        }
+        else if(fVariety == VARIETY_UNION){
+            XSSimpleType [] memberTypes = this.getMemberTypes();
+            for(int i = 0 ; i < memberTypes.length ; i++){
+                if( ! (memberTypes[i].getCardinalityFacet() == CARDINALITY_FINITE) ){
+                    this.fCardinality = CARDINALITY_COUNTABLY_INFINITE;
+                    return;                    
+                }
+            }
+            this.fCardinality = CARDINALITY_FINITE;
+        }
+        
+    }//setCardinality
+    
+    //REVISIT:we are passing wrong funadamental facet information for the 
+anySimpleType, we take care in constructor that these values
+    //are not set.
+    static final XSSimpleTypeDecl fAnySimpleType = new XSSimpleTypeDecl(null, 
+"anySimpleType", DV_ANYSIMPLETYPE, (short)-1,false,  (short)-1, false);
 
 } // class XSComplexTypeDecl
Index: SchemaDVFactoryImpl.java
===================================================================
RCS file: 
/home/cvspublic/xml-xerces/java/src/org/apache/xerces/impl/dv/xs_new/SchemaDVFactoryImpl.java,v
retrieving revision 1.2
diff -u -r1.2 SchemaDVFactoryImpl.java
--- SchemaDVFactoryImpl.java    28 Nov 2001 17:54:52 -0000      1.2
+++ SchemaDVFactoryImpl.java    3 Jan 2002 10:12:01 -0000
@@ -228,23 +228,23 @@
         //REVISIT: passing "anyType" here.
         XSSimpleTypeDecl anySimpleType = XSSimpleTypeDecl.fAnySimpleType;
         fBuiltInTypes.put(ANYSIMPLETYPE, anySimpleType);
-        XSSimpleTypeDecl stringDV = new XSSimpleTypeDecl(anySimpleType, STRING, 
XSSimpleTypeDecl.DV_STRING);
+        XSSimpleTypeDecl stringDV = new XSSimpleTypeDecl(anySimpleType, STRING, 
+XSSimpleTypeDecl.DV_STRING, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false );
         fBuiltInTypes.put(STRING, stringDV);
-        fBuiltInTypes.put(BOOLEAN, new XSSimpleTypeDecl(anySimpleType, STRING, 
XSSimpleTypeDecl.DV_BOOLEAN));
-        XSSimpleTypeDecl decimalDV = new XSSimpleTypeDecl(anySimpleType, DECIMAL, 
XSSimpleTypeDecl.DV_DECIMAL);
+        fBuiltInTypes.put(BOOLEAN, new XSSimpleTypeDecl(anySimpleType, STRING, 
+XSSimpleTypeDecl.DV_BOOLEAN, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_FINITE, false));
+        XSSimpleTypeDecl decimalDV = new XSSimpleTypeDecl(anySimpleType, DECIMAL, 
+XSSimpleTypeDecl.DV_DECIMAL, XSSimpleType.ORDERED_TOTAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, true);
         fBuiltInTypes.put(DECIMAL, decimalDV);
 
-        fBuiltInTypes.put(ANYURI, new XSSimpleTypeDecl(anySimpleType, ANYURI, 
XSSimpleTypeDecl.DV_ANYURI));
-        fBuiltInTypes.put(BASE64BINARY, new XSSimpleTypeDecl(anySimpleType, 
BASE64BINARY, XSSimpleTypeDecl.DV_BASE64BINARY));
-        fBuiltInTypes.put(DURATION, new XSSimpleTypeDecl(anySimpleType, DURATION, 
XSSimpleTypeDecl.DV_DURATION));
-        fBuiltInTypes.put(DATETIME, new XSSimpleTypeDecl(anySimpleType, DATETIME, 
XSSimpleTypeDecl.DV_DATETIME));
-        fBuiltInTypes.put(TIME, new XSSimpleTypeDecl(anySimpleType, TIME, 
XSSimpleTypeDecl.DV_TIME));
-        fBuiltInTypes.put(DATE, new XSSimpleTypeDecl(anySimpleType, DATE, 
XSSimpleTypeDecl.DV_DATE));
-        fBuiltInTypes.put(YEARMONTH, new XSSimpleTypeDecl(anySimpleType, YEARMONTH, 
XSSimpleTypeDecl.DV_GYEARMONTH));
-        fBuiltInTypes.put(YEAR, new XSSimpleTypeDecl(anySimpleType, YEAR, 
XSSimpleTypeDecl.DV_GYEAR));
-        fBuiltInTypes.put(MONTHDAY, new XSSimpleTypeDecl(anySimpleType, MONTHDAY, 
XSSimpleTypeDecl.DV_GMONTHDAY));
-        fBuiltInTypes.put(DAY, new XSSimpleTypeDecl(anySimpleType, DAY, 
XSSimpleTypeDecl.DV_GDAY));
-        fBuiltInTypes.put(MONTH, new XSSimpleTypeDecl(anySimpleType, MONTH, 
XSSimpleTypeDecl.DV_GMONTH));
+        fBuiltInTypes.put(ANYURI, new XSSimpleTypeDecl(anySimpleType, ANYURI, 
+XSSimpleTypeDecl.DV_ANYURI, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(BASE64BINARY, new XSSimpleTypeDecl(anySimpleType, 
+BASE64BINARY, XSSimpleTypeDecl.DV_BASE64BINARY, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(DURATION, new XSSimpleTypeDecl(anySimpleType, DURATION, 
+XSSimpleTypeDecl.DV_DURATION, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(DATETIME, new XSSimpleTypeDecl(anySimpleType, DATETIME, 
+XSSimpleTypeDecl.DV_DATETIME, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(TIME, new XSSimpleTypeDecl(anySimpleType, TIME, 
+XSSimpleTypeDecl.DV_TIME, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(DATE, new XSSimpleTypeDecl(anySimpleType, DATE, 
+XSSimpleTypeDecl.DV_DATE, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(YEARMONTH, new XSSimpleTypeDecl(anySimpleType, YEARMONTH, 
+XSSimpleTypeDecl.DV_GYEARMONTH, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(YEAR, new XSSimpleTypeDecl(anySimpleType, YEAR, 
+XSSimpleTypeDecl.DV_GYEAR, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(MONTHDAY, new XSSimpleTypeDecl(anySimpleType, MONTHDAY, 
+XSSimpleTypeDecl.DV_GMONTHDAY, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(DAY, new XSSimpleTypeDecl(anySimpleType, DAY, 
+XSSimpleTypeDecl.DV_GDAY, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(MONTH, new XSSimpleTypeDecl(anySimpleType, MONTH, 
+XSSimpleTypeDecl.DV_GMONTH, XSSimpleType.ORDERED_PARTIAL, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
 
         facets.fractionDigits = 0;
         XSSimpleTypeDecl integerDV = new XSSimpleTypeDecl(decimalDV, INTEGER, 
URI_SCHEMAFORSCHEMA, (short)0);
@@ -317,10 +317,10 @@
         fBuiltInTypes.put(POSITIVEINTEGER, positiveIntegerDV);
 
 
-        fBuiltInTypes.put(FLOAT, new XSSimpleTypeDecl(anySimpleType, FLOAT, 
XSSimpleTypeDecl.DV_FLOAT));
-        fBuiltInTypes.put(DOUBLE, new XSSimpleTypeDecl(anySimpleType, DOUBLE, 
XSSimpleTypeDecl.DV_DOUBLE));
-        fBuiltInTypes.put(HEXBINARY, new XSSimpleTypeDecl(anySimpleType, HEXBINARY, 
XSSimpleTypeDecl.DV_HEXBINARY));
-        fBuiltInTypes.put(NOTATION, new XSSimpleTypeDecl(anySimpleType, NOTATION, 
XSSimpleTypeDecl.DV_NOTATION));
+        fBuiltInTypes.put(FLOAT, new XSSimpleTypeDecl(anySimpleType, FLOAT, 
+XSSimpleTypeDecl.DV_FLOAT, XSSimpleType.ORDERED_TOTAL, true, 
+XSSimpleType.CARDINALITY_FINITE, true));
+        fBuiltInTypes.put(DOUBLE, new XSSimpleTypeDecl(anySimpleType, DOUBLE, 
+XSSimpleTypeDecl.DV_DOUBLE, XSSimpleType.ORDERED_TOTAL, true, 
+XSSimpleType.CARDINALITY_FINITE, true));
+        fBuiltInTypes.put(HEXBINARY, new XSSimpleTypeDecl(anySimpleType, HEXBINARY, 
+XSSimpleTypeDecl.DV_HEXBINARY, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
+        fBuiltInTypes.put(NOTATION, new XSSimpleTypeDecl(anySimpleType, NOTATION, 
+XSSimpleTypeDecl.DV_NOTATION, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
 
 
         facets.whiteSpace =  XSSimpleType.WS_REPLACE;
@@ -350,10 +350,10 @@
         ncnameDV.applyFacets1(facets, XSSimpleType.FACET_WHITESPACE, (short)0, 
XSSimpleTypeDecl.SPECIAL_TOKEN_NCNAME);
         fBuiltInTypes.put(NCNAME, ncnameDV);
 
-        fBuiltInTypes.put(QNAME, new XSSimpleTypeDecl(anySimpleType, QNAME, 
XSSimpleTypeDecl.DV_QNAME));
+        fBuiltInTypes.put(QNAME, new XSSimpleTypeDecl(anySimpleType, QNAME, 
+XSSimpleTypeDecl.DV_QNAME, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false));
 
-        fBuiltInTypes.put(ID, new XSSimpleTypeDecl(ncnameDV,  ID , 
XSSimpleTypeDecl.DV_ID ));
-        XSSimpleTypeDecl idrefDV = new XSSimpleTypeDecl(ncnameDV,  IDREF , 
XSSimpleTypeDecl.DV_IDREF);
+        fBuiltInTypes.put(ID, new XSSimpleTypeDecl(ncnameDV,  ID, 
+XSSimpleTypeDecl.DV_ID, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false ));
+        XSSimpleTypeDecl idrefDV = new XSSimpleTypeDecl(ncnameDV,  IDREF , 
+XSSimpleTypeDecl.DV_IDREF, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false);
         fBuiltInTypes.put(IDREF, idrefDV);
 
         facets.minLength = 1;
@@ -362,7 +362,7 @@
         idrefsDV.applyFacets1(facets, XSSimpleType.FACET_MINLENGTH, (short)0);
         fBuiltInTypes.put(IDREFS, idrefsDV);
 
-        XSSimpleTypeDecl entityDV = new XSSimpleTypeDecl(ncnameDV, ENTITY , 
XSSimpleTypeDecl.DV_ENTITY);
+        XSSimpleTypeDecl entityDV = new XSSimpleTypeDecl(ncnameDV, ENTITY , 
+XSSimpleTypeDecl.DV_ENTITY, XSSimpleType.ORDERED_FALSE, false, 
+XSSimpleType.CARDINALITY_COUNTABLY_INFINITE, false);
         fBuiltInTypes.put(ENTITY, entityDV);
 
         facets.minLength = 1;

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to