- if (node.hasNode(DocBookTypes.TITLE)) {
- if (section.getHeader() == null)
- section.createHeader();
- Node titleNode = node.getNode(DocBookTypes.TITLE);
- DocBookSectionTitle title = newSectionTitle(textSection, titleNode);
- title.setLayoutData(CmsUiUtils.fillWidth());
- updateContent(title);
+ String style = node.hasProperty(DbkAttr.role.name()) ? node.getProperty(DbkAttr.role.name()).getString()
+ : getDefaultSectionStyle();
+ if (style != null)
+ CmsUiUtils.style(textSection, style);
+
+ // Title
+ Node titleNode = null;
+ // We give priority to ./title vs ./info/title, like the DocBook XSL
+ if (node.hasNode(DbkType.title.get())) {
+ titleNode = node.getNode(DbkType.title.get());
+ } else if (node.hasNode(DbkType.info.get() + '/' + DbkType.title.get())) {
+ titleNode = node.getNode(DbkType.info.get() + '/' + DbkType.title.get());
+ }
+
+ if (titleNode != null) {
+ boolean showTitle = getMainSection() == section ? showMainTitle : true;
+ if (showTitle) {
+ if (section.getHeader() == null)
+ section.createHeader();
+ DocBookSectionTitle title = newSectionTitle(textSection, titleNode);
+ title.setLayoutData(CmsUiUtils.fillWidth());
+ updateContent(title);
+ }