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:31:02 UTC

svn commit: r514172 - in /incubator/wicket/branches/wicket-1.x/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:31:02 2007
New Revision: 514172

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

Modified:
    incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java
    incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java
    incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java

Modified: incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java?view=diff&rev=514172&r1=514171&r2=514172
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/MetaPattern.java Sat Mar  3 07:31: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. */
@@ -165,7 +165,8 @@
 	public static final MetaPattern INTEGER = new MetaPattern("-?\\d+");
 
 	/** Constant for a floating point number. */
-	public static final MetaPattern FLOATING_POINT_NUMBER = new MetaPattern("-?\\d+\\.?\\d*|-?\\.\\d+");
+	public static final MetaPattern FLOATING_POINT_NUMBER = new MetaPattern(
+			"-?\\d+\\.?\\d*|-?\\.\\d+");
 
 	/** Constant for a positive integer. */
 	public static final MetaPattern POSITIVE_INTEGER = new MetaPattern("\\d+");
@@ -191,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/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java?view=diff&rev=514172&r1=514171&r2=514172
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/parse/metapattern/parsers/TagNameParser.java Sat Mar  3 07:31: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/branches/wicket-1.x/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java?view=diff&rev=514172&r1=514171&r2=514172
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/markup/parser/XmlPullParserTest.java Sat Mar  3 07:31:02 2007
@@ -119,10 +119,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());
     }
     
     /**
@@ -331,5 +327,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());
 	}
 }