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: |