No no no no no - create a dictionary of keyword to function, like:

handlers = {'layout' : check_layout, 'root' : check_root, ...}

then do:

if category not in handlers:
  error message
handlers[category](header[category])

Any time you have a long if/elif/elif/else chain dispatching to handler functions, you should use this pattern instead.