You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jb...@apache.org on 2007/03/03 16:35:03 UTC

svn commit: r514173 - in /incubator/wicket/trunk/wicket/src: main/java/wicket/util/parse/metapattern/MetaPattern.java main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java test/java/wicket/markup/parser/XmlPullParserTest.java

Author: jbq
Date: Sat Mar  3 07:35:02 2007
New Revision: 514173

URL: http://svn.apache.org/viewvc?view=rev&rev=514173
Log:
WICKET-350 XmlPullParser does not respect the XML NCName syntax

Modified:
    incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java
    incubator/wicket/trunk/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java?view=diff&rev=514173&r1=514172&r2=514173
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java Sat Mar  3 07:35:02 2007
@@ -65,7 +65,7 @@
 			+ _SINGLE_QUOTED_STRING + ")";
 	private static final String _OPTIONAL_STRING = _STRING + "?";
 	private static final String _VARIABLE_NAME = "[A-Za-z_][A-Za-z0-9_]*";
-	private static final String _XML_NAME = "[A-Za-z_][A-Za-z0-9_-]*";
+	private static final String _XML_NAME = "[A-Za-z_][A-Za-z0-9_.-]*";
 
 	// Delimiters and punctuation
 	/** Constant for whitespace. */
@@ -192,10 +192,10 @@
 	/** Constant for a variable name. */
 	public static final MetaPattern VARIABLE_NAME = new MetaPattern(_VARIABLE_NAME);
 
-	/** Constant for a variable name. */
+	/** Constant for an XML element name. */
 	public static final MetaPattern XML_ELEMENT_NAME = new MetaPattern(_XML_NAME);
 
-	/** Constant for a xml attribute name. */
+	/** Constant for an XML attribute name. */
 	public static final MetaPattern XML_ATTRIBUTE_NAME = new MetaPattern(_XML_NAME);
 
 	/** Constant for perl interpolation. */

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java?view=diff&rev=514173&r1=514172&r2=514173
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java Sat Mar  3 07:35:02 2007
@@ -34,7 +34,7 @@
 	/** Namespaces must comply with variable name guidelines */
 	private static final Group namespaceGroup = new Group(MetaPattern.VARIABLE_NAME);
 
-	/** Tag names must comply with variable name guidelines */
+	/** Tag names must comply with XML NCName guidelines */
 	private static final Group nameGroup = new Group(MetaPattern.XML_ELEMENT_NAME);
 
 	/** Pattern for tag names with optional namespace: (namespace:)?name */

Modified: incubator/wicket/trunk/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java?view=diff&rev=514173&r1=514172&r2=514173
==============================================================================
--- incubator/wicket/trunk/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java (original)
+++ incubator/wicket/trunk/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java Sat Mar  3 07:35:02 2007
@@ -118,10 +118,6 @@
 		assertTrue(closeTag.isClose());
 		assertEquals("ns", closeTag.getNamespace());
 		assertEquals("tag", closeTag.getName());
-		
-		parser.parse("<filter-mapping>");
-		tag = (XmlTag)parser.nextTag();
-		assertEquals("filter-mapping", tag.getName());
 	}
 
 	/**
@@ -330,5 +326,24 @@
 		assertEquals("a", tag.getName());
 		tag = (XmlTag)parser.nextTag();
 		assertNull(tag);
+	}
+
+	public final void testNames() throws Exception
+	{
+		final XmlPullParser parser = new XmlPullParser();
+		parser.parse("<filter-mapping>");
+		XmlTag tag = (XmlTag)parser.nextTag();
+		assertTrue(tag.isOpen());
+		assertEquals("filter-mapping", tag.getName());
+
+		parser.parse("<filter.mapping>");
+		tag = (XmlTag)parser.nextTag();
+		assertTrue(tag.isOpen());
+		assertEquals("filter.mapping", tag.getName());
+
+		parser.parse("<filter_mapping>");
+		tag = (XmlTag)parser.nextTag();
+		assertTrue(tag.isOpen());
+		assertEquals("filter_mapping", tag.getName());
 	}
 }