xmlclass/xsdschema.py
changeset 1780 c52d1460cea8
parent 1776 81aa8aaccdd4
child 1782 5b6ad7a7fd9d
equal deleted inserted replaced
1779:6cf16e5bfbf9 1780:c52d1460cea8
   213                     raise ValueError("\"length\" and \"minLength\" facets can't be defined at the same time!")
   213                     raise ValueError("\"length\" and \"minLength\" facets can't be defined at the same time!")
   214                 if "maxLength" in facets:
   214                 if "maxLength" in facets:
   215                     raise ValueError("\"length\" and \"maxLength\" facets can't be defined at the same time!")
   215                     raise ValueError("\"length\" and \"maxLength\" facets can't be defined at the same time!")
   216                 try:
   216                 try:
   217                     value = int(value)
   217                     value = int(value)
   218                 except:
   218                 except Exception:
   219                     raise ValueError("\"length\" must be an integer!")
   219                     raise ValueError("\"length\" must be an integer!")
   220                 if value < 0:
   220                 if value < 0:
   221                     raise ValueError("\"length\" can't be negative!")
   221                     raise ValueError("\"length\" can't be negative!")
   222                 elif basevalue is not None and basevalue != value:
   222                 elif basevalue is not None and basevalue != value:
   223                     raise ValueError("\"length\" can't be different from \"length\" defined in base type!")
   223                     raise ValueError("\"length\" can't be different from \"length\" defined in base type!")
   224             elif facettype == "minLength":
   224             elif facettype == "minLength":
   225                 if "length" in facets:
   225                 if "length" in facets:
   226                     raise ValueError("\"length\" and \"minLength\" facets can't be defined at the same time!")
   226                     raise ValueError("\"length\" and \"minLength\" facets can't be defined at the same time!")
   227                 try:
   227                 try:
   228                     value = int(value)
   228                     value = int(value)
   229                 except:
   229                 except Exception:
   230                     raise ValueError("\"minLength\" must be an integer!")
   230                     raise ValueError("\"minLength\" must be an integer!")
   231                 if value < 0:
   231                 if value < 0:
   232                     raise ValueError("\"minLength\" can't be negative!")
   232                     raise ValueError("\"minLength\" can't be negative!")
   233                 elif "maxLength" in facets and value > facets["maxLength"]:
   233                 elif "maxLength" in facets and value > facets["maxLength"]:
   234                     raise ValueError("\"minLength\" must be lesser than or equal to \"maxLength\"!")
   234                     raise ValueError("\"minLength\" must be lesser than or equal to \"maxLength\"!")
   237             elif facettype == "maxLength":
   237             elif facettype == "maxLength":
   238                 if "length" in facets:
   238                 if "length" in facets:
   239                     raise ValueError("\"length\" and \"maxLength\" facets can't be defined at the same time!")
   239                     raise ValueError("\"length\" and \"maxLength\" facets can't be defined at the same time!")
   240                 try:
   240                 try:
   241                     value = int(value)
   241                     value = int(value)
   242                 except:
   242                 except Exception:
   243                     raise ValueError("\"maxLength\" must be an integer!")
   243                     raise ValueError("\"maxLength\" must be an integer!")
   244                 if value < 0:
   244                 if value < 0:
   245                     raise ValueError("\"maxLength\" can't be negative!")
   245                     raise ValueError("\"maxLength\" can't be negative!")
   246                 elif "minLength" in facets and value < facets["minLength"]:
   246                 elif "minLength" in facets and value < facets["minLength"]:
   247                     raise ValueError("\"minLength\" must be lesser than or equal to \"maxLength\"!")
   247                     raise ValueError("\"minLength\" must be lesser than or equal to \"maxLength\"!")
   462             else:
   462             else:
   463                 value = attr
   463                 value = attr
   464             for infos in membertypesinfos:
   464             for infos in membertypesinfos:
   465                 try:
   465                 try:
   466                     return infos["extract"](attr, False)
   466                     return infos["extract"](attr, False)
   467                 except:
   467                 except Exception:
   468                     pass
   468                     pass
   469             raise ValueError("\"%s\" isn't valid for type defined for union!")
   469             raise ValueError("\"%s\" isn't valid for type defined for union!")
   470 
   470 
   471         def CheckSimpleTypeValue(value):
   471         def CheckSimpleTypeValue(value):
   472             for infos in membertypesinfos:
   472             for infos in membertypesinfos: