## Generator description Generates a structured `Idl` data type into a human-readable text format (`.matter` file). It is useful for tools that ingest non-idl data but convert into idl data (e.g. `zapxml` or CSA data model XML data.) ### Usage A no-op usage can be: ``` ./scripts/codegen.py -g idl --output-dir out/idlgen examples/all-clusters-app/all-clusters-common/all-clusters-app.matter ``` which would re-generate the entire `all-clusters-app.matter` into `out/idlgen/idl.matter` This generation is useful for testing/validating that both parsing and generation works. Actual usage of this generator would be inside XML tools. ### Within XML parsing A XML parser will use this code generator to output a human readable view of the parsed data: ``` ./scripts/py_matter_idl/matter_idl/zapxml_parser.py \ ./src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml \ ./src/app/zap-templates/zcl/data-model/chip/global-attributes.xm ```