doxygen:xml - chunhualiao/public-docs GitHub Wiki

doxygen

Understanding Doxygen XML File Generation

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:


✅ 1. One XML file per source file (if it contains documented items)

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.


✅ 2. One XML file per compound (class, struct, namespace, etc.)

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.)

✅ 3. Index files

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

✅ 4. Grouping and pages

If you define groups or use @page, @mainpage, etc., Doxygen generates:

  • group_<groupname>.xml
  • page_<pagename>.xml

🔁 Summary of when Doxygen creates a new XML file:

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?

⚠️ **GitHub.com Fallback** ⚠️