in doxia-core/src/main/java/org/apache/maven/doxia/macro/toc/TocMacro.java [136:171]
private void writeSubSectionN(Sink sink, IndexEntry sectionIndex, int n) {
if (fromDepth <= n) {
sink.listItem();
sink.link("#" + DoxiaUtils.encodeId(sectionIndex.getId()));
sink.text(sectionIndex.getTitle());
sink.link_();
}
if (toDepth > n) {
if (sectionIndex.getChildEntries().size() > 0) {
if (fromDepth <= n) {
sink.list();
}
for (IndexEntry subsectionIndex : sectionIndex.getChildEntries()) {
if (n == toDepth - 1) {
sink.listItem();
sink.link("#" + DoxiaUtils.encodeId(subsectionIndex.getId()));
sink.text(subsectionIndex.getTitle());
sink.link_();
sink.listItem_();
} else {
writeSubSectionN(sink, subsectionIndex, n + 1);
}
}
if (fromDepth <= n) {
sink.list_();
}
}
}
if (fromDepth <= n) {
sink.listItem_();
}
}