diff options
author | David A. Madore <david+git@madore.org> | 2011-09-07 18:24:44 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2011-09-07 18:24:44 +0200 |
commit | 5d04d7e32ab93c6b3c3ec7e3698f0a41b55fa4cb (patch) | |
tree | 58f3252da010cafffe63f896f526ae5f093f2a19 /org/madore/damlengine/TodoEntryTitleElement.java | |
parent | 457ce3fb7d0bd2198d1397912093cc1f99befe26 (diff) | |
download | damlengine-5d04d7e32ab93c6b3c3ec7e3698f0a41b55fa4cb.tar.gz damlengine-5d04d7e32ab93c6b3c3ec7e3698f0a41b55fa4cb.tar.bz2 damlengine-5d04d7e32ab93c6b3c3ec7e3698f0a41b55fa4cb.zip |
Also use HTML5 elements (article, header, footer) for weblog entries.
Diffstat (limited to 'org/madore/damlengine/TodoEntryTitleElement.java')
-rw-r--r-- | org/madore/damlengine/TodoEntryTitleElement.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/org/madore/damlengine/TodoEntryTitleElement.java b/org/madore/damlengine/TodoEntryTitleElement.java index e5da837..6a17a24 100644 --- a/org/madore/damlengine/TodoEntryTitleElement.java +++ b/org/madore/damlengine/TodoEntryTitleElement.java @@ -1,6 +1,7 @@ package org.madore.damlengine; import java.util.ArrayList; +import java.util.regex.Pattern; import org.w3c.dom.*; public final class TodoEntryTitleElement extends TodoDefaultElement { @@ -22,11 +23,19 @@ public final class TodoEntryTitleElement extends TodoDefaultElement { @Override public void handleNodeOnly() { + if ( ctx.ent == null ) + throw new IllegalStateException("entry context not defined in entry title element"); Element h2 = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "h2"); String explicitLang = LangHelper.getLangNorec(node); if ( explicitLang != null ) LangHelper.setLangNorec(h2, explicitLang); - node.getParentNode().replaceChild(h2, node); + ctx.ent.headerNode.appendChild(h2); + Node ws = node.getNextSibling(); + if ( ws != null && ( ws.getNodeType() == Node.TEXT_NODE + || ws.getNodeType() == Node.CDATA_SECTION_NODE ) + && Pattern.matches("^\\s*$",((CharacterData)ws).getData()) ) + node.getParentNode().removeChild(ws); + node.getParentNode().removeChild(node); h2.setAttributeNS(null, "class", "weblog-entry-title"); ArrayList<Node> childList = getChildList(this.node); ArrayList<TodoElement> toProcess = new ArrayList<TodoElement>(childList.size()); |