One of the concepts that is critical in the understand of the Kodexa Document is that of a feature.
As we discussed in the previous section, a Kodexa Document is a tree-like structure composed of content nodes. These content nodes can be one of a variety of types, such as as pages, lines, words etc.
Those content nodes are then linked to features that describe metadata about the content. For example, a word node might be linked to a font feature that describes the font that the word is written in.
The features are a way to describe the content in a way that is flexible and extensible. This means that we can add new features to describe the content in new ways without having to change the underlying structure of the document.
Features in Kodexa are defined by the feature_type and feature_name. The feature_type is a string that describes the type of feature. For example, a font feature would have a feature_type of "presentation". The feature_name is a string that describes the name of the feature. For example, a font feature would have a feature_name of "font".