in doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java [194:241]
protected void handleEndTag(XmlPullParser parser, Sink sink)
throws XmlPullParserException, MacroExecutionException {
if (parser.getName().equals(DOCUMENT_TAG.toString())) {
// Do nothing
return;
} else if (parser.getName().equals(HEAD.toString())) {
// Do nothing, head is closed with BODY start.
} else if (parser.getName().equals(BODY.toString())) {
consecutiveSections(0, sink);
sink.body_();
} else if (parser.getName().equals(TITLE.toString())) {
if (!hasTitle) {
sink.title_();
this.hasTitle = true;
}
} else if (parser.getName().equals(AUTHOR_TAG.toString())) {
sink.author_();
} else if (parser.getName().equals(DATE_TAG.toString())) {
sink.date_();
} else if (parser.getName().equals(SOURCE_TAG.toString())) {
verbatim_();
sink.verbatim_();
} else if (parser.getName().equals(PROPERTIES_TAG.toString())) {
// Do nothing, head is closed with BODY start.
} else if (parser.getName().equals(MACRO_TAG.toString())) {
handleMacroEnd(sink);
} else if (parser.getName().equals(PARAM.toString())) {
if (!(macroName != null && !macroName.isEmpty())) {
handleUnknown(parser, sink, TAG_TYPE_END);
}
} else if (parser.getName().equals(SECTION_TAG.toString())) {
consecutiveSections(0, sink);
sink.section1_();
} else if (parser.getName().equals(SUBSECTION_TAG.toString())) {
consecutiveSections(Sink.SECTION_LEVEL_1, sink);
// sink.section2_() not necessary
} else if (!baseEndTag(parser, sink)) {
if (!isEmptyElement) {
handleUnknown(parser, sink, TAG_TYPE_END);
}
}
isEmptyElement = false;
}