1.1 restoration
[mir.git] / source / mir / util / xml / html / HTMLScanner.java
index e956ae1..1c6ff42 100755 (executable)
@@ -67,6 +67,20 @@ public class HTMLScanner {
         (aCharacter == ':');
   }
 
+  private boolean isValidUnQuotedAttributeCharacter(char aCharacter) {
+    int type = Character.getType(aCharacter);
+
+    return
+        (type == Character.UPPERCASE_LETTER)  ||
+        (type == Character.LOWERCASE_LETTER)  ||
+        (type == Character.DECIMAL_DIGIT_NUMBER)  ||
+        (aCharacter == '.') ||
+        (aCharacter == '#') ||
+        (aCharacter == '-') ||
+        (aCharacter == '_') ||
+        (aCharacter == ':');
+  }
+
   private void skipWhiteSpace() throws IOException {
     while (!reader.isAtEnd() && Character.isWhitespace(reader.peek())) {
       reader.get();
@@ -122,7 +136,7 @@ public class HTMLScanner {
           reader.get();
       }
       else {
-        while (!reader.isAtEnd() && isValidTagNameCharacter(reader.peek())) {
+        while (!reader.isAtEnd() && isValidUnQuotedAttributeCharacter(reader.peek())) {
           result.append(reader.get());
         }
       }
@@ -183,7 +197,11 @@ public class HTMLScanner {
             reader.get();
             if (!reader.isAtEnd() && reader.peek()=='-') {
               reader.get();
-              break;
+              if (!reader.isAtEnd() && reader.peek()=='>') {
+                reader.get();
+                break;
+              }
+              result.append('-');
             }
             result.append('-');
           }