I've committed the patch. Thanks.

Sandy Gao
Software Developer, IBM Canada
(1-905) 413-3255
[EMAIL PROTECTED]



                                                                                       
                       
                    Neeraj Bajaj                                                       
                       
                    <Neeraj.Bajaj@       To:     [EMAIL PROTECTED]           
                       
                    Sun.COM>             cc:                                           
                       
                                         Subject:     patches for XSSimpleTypeDecl, 
SchemaDVFactoryImpl,      
                    01/03/2002            XSSimpleType                                 
                       
                    06:25 PM                                                           
                       
                    Please respond                                                     
                       
                    to                                                                 
                       
                    xerces-j-dev                                                       
                       
                                                                                       
                       
                                                                                       
                       



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]



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

Reply via email to