1# Camera Metadata XML
2## Introduction
3This is a set of scripts to manipulate the camera metadata in an XML form.
4
5## Generated Files
6Many files can be generated from XML, such as the documentation (html/pdf),
7C code, Java code, and even XML itself (as a round-trip validity check).
8
9## Dependencies
10* Python 2.7.x+
11* Beautiful Soup 4+ - HTML/XML parser, used to parse `metadata_definitions.xml`
12* Mako 0.7+         - Template engine, needed to do file generation.
13* Markdown 2.1+     - Plain text to HTML converter, for docs formatting.
14* Tidy              - Cleans up the XML/HTML files.
15* XML Lint          - Validates XML against XSD schema.
16
17## Quick Setup (Debian Rodete):
18NOTE: Debian (and most Linux distros) no longer package Python 2.
19      Python 3 dependencies are listed below.
20```
21sudo apt install python3-mako \
22                 python3-bs4 \
23                 python3-markdown \
24                 tidy \
25                 libxml2-utils
26```
27
28## Quick Usage:
291. Modify or add to `metadata_definition.xml`
302. Execute `metadata-generate`
313. Run `m ds-docs` to make sure the javadoc is correctly generated
324. Commit and Upload the repos listed at the end of `metadata-generate`
33