def validate_any(prop, value, xpath_map=None):
    """ Validates any metadata property, complex or simple (string or array) """

    if value is not None:
        if prop in (ATTRIBUTES, CONTACTS, DIGITAL_FORMS):
            validate_complex_list(prop, value, xpath_map)

        elif prop in (BOUNDING_BOX, LARGER_WORKS, RASTER_INFO):
            validate_complex(prop, value, xpath_map)

        elif prop == DATES:
            validate_dates(prop, value, xpath_map)

        elif prop == PROCESS_STEPS:
            validate_process_steps(prop, value)

        elif prop not in _supported_props and xpath_map is not None:
            # Validate custom data structures as complex lists by default
            validate_complex_list(prop, value, xpath_map)

        else:
            for val in wrap_value(value, include_empty=True):
                validate_type(prop, val, (string_types, list))
def validate_any ( prop , value , xpath_map = None ) : if value is not None : if prop in ( ATTRIBUTES , CONTACTS , DIGITAL_FORMS ) : validate_complex_list ( prop , value , xpath_map ) elif prop in ( BOUNDING_BOX , LARGER_WORKS , RASTER_INFO ) : validate_complex ( prop , value , xpath_map ) elif prop == DATES : validate_dates ( prop , value , xpath_map ) elif prop == PROCESS_STEPS : validate_process_steps ( prop , value ) elif prop not in _supported_props and xpath_map is not None : validate_complex_list ( prop , value , xpath_map ) else : for val in wrap_value ( value , include_empty = True ) : validate_type ( prop , val , ( string_types , list ) )
Validates any metadata property, complex or simple (string or array)