xmlclass/xsdschema.py
changeset 1774 ac0fe8aabb5e
parent 1768 691083b5682a
child 1775 b45f2768fab1
equal deleted inserted replaced
1773:38fde37c3766 1774:ac0fe8aabb5e
   316                         raise ValueError("value must be greater than or equal to %s" % str(facetvalue))
   316                         raise ValueError("value must be greater than or equal to %s" % str(facetvalue))
   317                     elif facetname == "minExclusive" and value <= facetvalue:
   317                     elif facetname == "minExclusive" and value <= facetvalue:
   318                         raise ValueError("value must be greater than %s" % str(facetvalue))
   318                         raise ValueError("value must be greater than %s" % str(facetvalue))
   319                     elif facetname == "maxInclusive" and value > facetvalue:
   319                     elif facetname == "maxInclusive" and value > facetvalue:
   320                         raise ValueError("value must be lesser than or equal to %s" % str(facetvalue))
   320                         raise ValueError("value must be lesser than or equal to %s" % str(facetvalue))
   321                     elif facetname == "maxExclusive"  and value >= facetvalue:
   321                     elif facetname == "maxExclusive" and value >= facetvalue:
   322                         raise ValueError("value must be lesser than %s" % str(facetvalue))
   322                         raise ValueError("value must be lesser than %s" % str(facetvalue))
   323                     elif facetname == "pattern":
   323                     elif facetname == "pattern":
   324                         model = re.compile("(?:%s)?$" % "|".join(map(lambda x: "(?:%s)" % x, facetvalue)))
   324                         model = re.compile("(?:%s)?$" % "|".join(map(lambda x: "(?:%s)" % x, facetvalue)))
   325                         result = model.match(value)
   325                         result = model.match(value)
   326                         if result is None:
   326                         if result is None:
   350                         return False
   350                         return False
   351                     elif facetname == "minExclusive" and value <= facetvalue:
   351                     elif facetname == "minExclusive" and value <= facetvalue:
   352                         return False
   352                         return False
   353                     elif facetname == "maxInclusive" and value > facetvalue:
   353                     elif facetname == "maxInclusive" and value > facetvalue:
   354                         return False
   354                         return False
   355                     elif facetname == "maxExclusive"  and value >= facetvalue:
   355                     elif facetname == "maxExclusive" and value >= facetvalue:
   356                         return False
   356                         return False
   357                     elif facetname == "pattern":
   357                     elif facetname == "pattern":
   358                         model = re.compile("(?:%s)?$" % "|".join(map(lambda x: "(?:%s)" % x, facetvalue)))
   358                         model = re.compile("(?:%s)?$" % "|".join(map(lambda x: "(?:%s)" % x, facetvalue)))
   359                         result = model.match(value)
   359                         result = model.match(value)
   360                         if result is None:
   360                         if result is None:
   377                         return facetvalue
   377                         return facetvalue
   378                     elif facetname == "minExclusive" and facetvalue >= 0:
   378                     elif facetname == "minExclusive" and facetvalue >= 0:
   379                         return facetvalue + 1
   379                         return facetvalue + 1
   380                     elif facetname == "maxInclusive" and facetvalue < 0:
   380                     elif facetname == "maxInclusive" and facetvalue < 0:
   381                         return facetvalue
   381                         return facetvalue
   382                     elif facetname == "maxExclusive"  and facetvalue <= 0:
   382                     elif facetname == "maxExclusive" and facetvalue <= 0:
   383                         return facetvalue - 1
   383                         return facetvalue - 1
   384             return basetypeinfos["initial"]()
   384             return basetypeinfos["initial"]()
   385 
   385 
   386         GenerateSimpleType = basetypeinfos["generate"]
   386         GenerateSimpleType = basetypeinfos["generate"]
   387 
   387