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]