Schema (Any Format) Reader
The Schema (Any Format) reader produces an FME feature that contains information about the source dataset for any given format. Currently, only the schema information is returned.
This reader is most useful in combination with transformers that can use the schema information to manipulate the output. It is not intended to be used for true translation.
Available Formats
The formats available to the Schema Reader are limited to the formats that have any dependencies met. For example, you will not be able to read the schema for a format that requires the installation of additional software or libraries.
Reader Overview
The Schema (Any Format) reader acts as a wrapper for the true reader which will be used to retrieve the schema from a specially formulated table in a given dataset.
The Schema (Any Format) reader takes a file or multiple files, folder, URL, or database name as the input dataset. If the format that is ultimately targeted requires an input folder, the Schema (Any Format) reader will turn the input filename into a folder by removing the file name part of the path.
Because the format it will read from can be, and is by default, published, workspace authors who want to set up specific dataflows for a particular format can use the ParameterFetcher transformer to retrieve the name of the format that actually is being read to, and then potentially route features to other transformers using this value.
The Schema (Any Format) Schema reader reads the schema using the underlying reader, whose name is given by the Input Format workspace Navigator parameter.
Reading Formats with Additional Parameters
The reader parameters for Schema (Any Format) are usually set by selecting a Dataset and Format.
However, many formats contain also contain additional parameters that can control how the reader behaves. To expose a format's parameters in the Navigator pane, you will also have to add that format to the workspace as a resource.
From the FME Workbench menu bar, select Reader > Add Reader as Resource:
Then any parameters you set here are also used by the Schema (Any Format) reader.
Note that the Source Dataset parameter on the Schema (Any Format) reader overrides this reader resource. For example, if you want to read from a database, the Dataset is the database name. You have to set this in the reader resource to make the database connection:
And then you also have to set the connection in the Schema (Any Format) Source Dataset parameter.