Skip to main content
Data types are used by the Extraction Engine when a workflow applies one or more Data Definitions and writes the resulting structured data into a data store. The final document is passed to the Extraction Engine which then builds the data objects and data attributes linked back to the labeled document. Data types impact only the Data Attribute, and a data attribute is designed to hold multiple representations of the piece of data. Currently, we have the following data types:

Understanding Normalization (Coalescing)

When we label text in a document, it is always a “string”. This just means we are capturing text and not trying to standardize (or normalize) it in any way at all. However, most systems that will use the data from Kodexa will want to know that the data is a specific type. They would want things to be numbers or dates, etc. This process is handled when we try to set the data type on a data attribute. The Extraction Engine will take the text that is labeled in the document and try to coalesce the data into a specific form - for example it might take “1.0” as a string and turn it into a number. This is important since it means the system using the data from Kodexa knows the data is “valid” for that “Data Type”. In that case, if the data type is a number, it will not allow “abc” for that data attribute.

Algorithms for Coalescing

In the following table we will break down how we coalesce the data from labeled data to the data type.

How is Typed Data Stored?

A data attribute has the ability to store multiple representations of a piece of extracted data, depending on the data type defined in the data structure one or more of the properties of the Data Attribute will be updated.

Content Source

When we are extracting data from a document label we are capturing the text that is labeled. This is the “raw” value that we are capturing. This is the value that is stored in the value property of the data attribute. However, we also need to understand where that raw value comes from in the document. This is handled by the content source property on the data element. We support the following types of content source: