doxygen:xml - chunhualiao/public-docs GitHub Wiki
When Doxygen is configured with GENERATE_XML = YES
, it generates a set of XML files representing the parsed codebase. The decision to create a new XML file is based primarily on top-level documented entities and file granularity.
Here's how Doxygen decides when to generate a new XML file:
Each input source file (e.g., .h, .cpp, etc.) that contains documented entities (functions, classes, namespaces, etc.) will result in a corresponding file_*.xml
in the xml/
directory.
For example:
file__src_2utils_2Logger_8h.xml
corresponds to src/utils/Logger.h
.
Each compound entity — such as a class, struct, union, namespace, or interface — gets its own class_*.xml
, struct_*.xml
, or namespace_*.xml
, etc.
Examples:
classMyNamespace_1_1MyClass.xml
namespaceMyNamespace.xml
These files include:
- Compound-level documentation
- Member definitions (functions, variables, enums, typedefs, etc.)
Doxygen also generates several index files that serve as entry points or summaries:
File Name | Description |
---|---|
index.xml | Main index of all documented items |
files.xml | List of all source files |
classes.xml | List of all documented classes |
namespaces.xml | List of all documented namespaces |
functions.xml | List of global functions |
typedefs.xml | List of typedefs |
If you define groups or use @page, @mainpage, etc., Doxygen generates:
group_<groupname>.xml
page_<pagename>.xml
Entity Type | Triggers New XML File? | Filename Pattern |
---|---|---|
Source File | ✅ Yes | file__...xml |
Class/Struct | ✅ Yes | class...xml |
Namespace | ✅ Yes | namespace...xml |
Global Function | ✅ Yes (indirectly) | Included in functions.xml
|
Group / Page | ✅ Yes |
group_...xml , page_...xml
|
Index/Summary | ✅ Yes |
index.xml , classes.xml , etc. |
Would you like help analyzing which XML file contains a specific documented symbol?