The XML structures was used for temporary storing parsed
information from YAML configuration files. There was a decision
to eliminate XML from CS since there are some features that
doesn't provided by XML but only by YAML.
The fundamental idea behind CYAML is to allow applications to construct
schemas which describe both the permissible structure of the YAML
documents to read/write, and the C data structure(s) in which the loaded
data is arranged in memory. Nevertheless that CYAML couldn't handle
configuration files (they are not so simple as CYAML expected) it is
very convenient to use it for backup and for dynamic history files.
Note that since CYAML couldn't handle with YAML configuration files
there are some fields in the structures about which CYAML doesn't know
such as cond and include fields.
The parsing consist of two steps.
1) At the first step the configuration files are parsed to the
structure that has fields like cond and include that couldn't be
handled via CYAML.
2) The second step called reparse resolves include and cond fields.
Also it resolves oid and value of instance where some substitutions
are needed (for example of environment variables).
The XML structures was used for temporary storing parsed information from YAML configuration files. There was a decision to eliminate XML from CS since there are some features that doesn't provided by XML but only by YAML.
The fundamental idea behind CYAML is to allow applications to construct schemas which describe both the permissible structure of the YAML documents to read/write, and the C data structure(s) in which the loaded data is arranged in memory. Nevertheless that CYAML couldn't handle configuration files (they are not so simple as CYAML expected) it is very convenient to use it for backup and for dynamic history files.
Note that since CYAML couldn't handle with YAML configuration files there are some fields in the structures about which CYAML doesn't know such as cond and include fields.
The parsing consist of two steps. 1) At the first step the configuration files are parsed to the structure that has fields like cond and include that couldn't be handled via CYAML. 2) The second step called reparse resolves include and cond fields. Also it resolves oid and value of instance where some substitutions are needed (for example of environment variables).