document and fragment allow conditionals and nested arrays of filter&transformer pairs