You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2006/10/19 23:05:32 UTC
svn commit: r465885 -
/incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java
Author: jdonnerstag
Date: Thu Oct 19 14:05:31 2006
New Revision: 465885
URL: http://svn.apache.org/viewvc?view=rev&rev=465885
Log:
allow users to register/extend html tags which don't require a close tag
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java?view=diff&rev=465885&r1=465884&r2=465885
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/markup/parser/filter/HtmlHandler.java Thu Oct 19 14:05:31 2006
@@ -51,13 +51,13 @@
static
{
// Tags which are allowed not be closed in HTML
- doesNotRequireCloseTag.put("p", Boolean.TRUE);
- doesNotRequireCloseTag.put("br", Boolean.TRUE);
- doesNotRequireCloseTag.put("img", Boolean.TRUE);
- doesNotRequireCloseTag.put("input", Boolean.TRUE);
- doesNotRequireCloseTag.put("hr", Boolean.TRUE);
- doesNotRequireCloseTag.put("link", Boolean.TRUE);
- doesNotRequireCloseTag.put("meta", Boolean.TRUE);
+ registerHtmlTag("p");
+ registerHtmlTag("br");
+ registerHtmlTag("img");
+ registerHtmlTag("input");
+ registerHtmlTag("hr");
+ registerHtmlTag("link");
+ registerHtmlTag("meta");
}
/**
@@ -69,6 +69,18 @@
}
/**
+ * Register additional HTML tags which presumable don't need a close tag.
+ * However, instead of doing that, we recommend anyone to use proper XHTML
+ * instead which is XML compliant.
+ *
+ * @param tagName
+ */
+ public static final void registerHtmlTag(final String tagName)
+ {
+ doesNotRequireCloseTag.put(tagName, Boolean.TRUE);
+ }
+
+ /**
* Get the next MarkupElement from the parent MarkupFilter and handle it if
* the specific filter criteria are met. Depending on the filter, it may
* return the MarkupElement unchanged, modified or it remove by asking the
@@ -95,8 +107,8 @@
}
else
{
- throw new ParseException("Tag " + top + " at " + top.getPos()
- + " did not have a close tag", top.getPos());
+ throw new ParseException("Tag " + top + " does not have a close tag.", top
+ .getPos());
}
}
@@ -125,7 +137,6 @@
// If the name of the current close tag does not match the
// tag on the stack then we may have a mismatched close tag
boolean mismatch = !top.hasEqualTagName(tag);
-
if (mismatch)
{
top.setHasNoCloseTag(true);