continue;
}
boolean ismin = (code == SchemaType.FACET_MIN_EXCLUSIVE || code == SchemaType.FACET_MIN_INCLUSIVE);
boolean isexclusive = (code == SchemaType.FACET_MIN_EXCLUSIVE || code == SchemaType.FACET_MAX_EXCLUSIVE);
XmlAnySimpleType limit;
try
{
limit = baseImpl.newValue(facet.getValue());
}
catch (XmlValueOutOfRangeException e)
{
// note: this guarantees that the limit is a valid number in the
// base data type!!
state.error("Must be valid value in base type", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
// BUGBUG: if there are actual schemas that redefine min/maxExclusive,
// they will need this rule relaxed for them!!
continue;
}
if (fixedFacets[code] && !myFacets[code].valueEquals(limit))
{
state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
continue;
}
if (myFacets[code] != null)
{
int comparison = limit.compareValue(myFacets[code]);
if (comparison == 2 || comparison == (ismin ? -1 : 1))
{
state.error(ismin ?
(isexclusive ?
"Must be greater than or equal to previous minExclusive" :