# Pragma Schema Structure documentation

The pragma schema structure provides you with a tree graph on how the UI fits togeather using it's different parts and layers.
Tabs, groups and input being a example of these.

## Processing
Process the schema by running through it.
Processing starts on the body level and then tries to define the structure.
Use hierarchical item to define the structure and render that structure in a advanced tree view.
If templates are used in the UI you will need to process them also but can ignore HTMLTempaltes.

## Custom Component
This will be a custom component.
The component will have a schema property.

Utility functions will allow processing certain parts.
Example of this would be to process a master detail element. 
We do not need to process the master container but only the detail container.
a utlity function master-detail will facilitate processing master detail elements.

## Schema Processor
A custom class will be used to process the schema.
This class will contain atleast these functions:

1. process: starting point for processing the schema.
1. processElement: processing a single element
1. processElements: processing a collection of elements, typically the elements property of a element.

