Both content files and structural units can have metadata. A metadata is characterized by the fact that it has a specific type and value and is assigned to either a structural unit or a content file; it is a type-value pair that is used to describe the linked object. A metadata can only be assigned to one object at a time. The length and type of the metadata value are undefined. In principle, the API always assumes strings of any length. However, depending on the respective serialization classes, certain value types can be assumed, either because certain fields require values according to ISO conventions (for example, date, language, or country codes) or because database columns have certain maximum lengths. Currently, this problem must be handled by higher-level application layers.