namestart = new CharacterSet(); namestart.addInterval((char) 0x003A, (char) 0x003A); namestart.addInterval((char) 0x0041, (char) 0x005A); namestart.addInterval((char) 0x005F, (char) 0x005F); namestart.addInterval((char) 0x0061, (char) 0x007A); namestart.addInterval((char) 0x00C0, (char) 0x00D6); namestart.addInterval((char) 0x00D8, (char) 0x00F6); namestart.addInterval((char) 0x00F8, (char) 0x00FF); namestart.addInterval((char) 0x0100, (char) 0x0131); namestart.addInterval((char) 0x0134, (char) 0x013E); namestart.addInterval((char) 0x0141, (char) 0x0148); namestart.addInterval((char) 0x014A, (char) 0x017E); namestart.addInterval((char) 0x0180, (char) 0x01C3); namestart.addInterval((char) 0x01CD, (char) 0x01F0); namestart.addInterval((char) 0x01F4, (char) 0x01F5); namestart.addInterval((char) 0x01FA, (char) 0x0217); namestart.addInterval((char) 0x0250, (char) 0x02A8); namestart.addInterval((char) 0x02BB, (char) 0x02C1); namestart.addInterval((char) 0x0386, (char) 0x0386); namestart.addInterval((char) 0x0388, (char) 0x038A); namestart.addInterval((char) 0x038C, (char) 0x038C); namestart.addInterval((char) 0x038E, (char) 0x03A1); namestart.addInterval((char) 0x03A3, (char) 0x03CE); namestart.addInterval((char) 0x03D0, (char) 0x03D6); namestart.addInterval((char) 0x03DA, (char) 0x03DA); namestart.addInterval((char) 0x03DC, (char) 0x03DC); namestart.addInterval((char) 0x03DE, (char) 0x03DE); namestart.addInterval((char) 0x03E0, (char) 0x03E0); namestart.addInterval((char) 0x03E2, (char) 0x03F3);
/** * INTERNAL: Used to test whether the ID is a syntactically valid * XML ID. */ protected boolean isValidXMLId(String id) { // [5] Name ::= (Letter | '_' | ':') (NameChar)* // [84] Letter ::= BaseChar | Ideographic // [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | // Extender if (namestart == null) buildSets(); if (id.length() < 1 || !namestart.contains(id.charAt(0))) return false; for (int ix = 1; ix < id.length(); ix++) if (!namechar.contains(id.charAt(ix))) return false; return true; }
public void testSingleCharacter() { CharacterSet set = new CharacterSet(); set.addInterval(' ', ' '); set.close(); assertTrue("set contains unknown character", !set.contains((char) 0x19)); assertTrue("set contains unknown character", !set.contains((char) 0x21)); assertTrue("set doesn't contain added character", set.contains(' ')); }
public void testEmpty() { CharacterSet set = new CharacterSet(); set.close(); assertTrue("empty set contains character", !set.contains((char) 0x20)); assertTrue("empty set contains character", !set.contains((char) 0x51)); assertTrue("empty set contains character", !set.contains((char) 0x7F2E)); }
public void testSingleInterval() { CharacterSet set = new CharacterSet(); set.addInterval('a', 'z'); set.close(); assertTrue("set contains unknown character", !set.contains((char) 0x19)); assertTrue("set contains unknown character", !set.contains((char) 0x21)); assertTrue("set contains unknown character", !set.contains(' ')); assertTrue("set doesn't contain added character", set.contains('a')); assertTrue("set doesn't contain added character", set.contains('g')); assertTrue("set doesn't contain added character", set.contains('z')); }
public void testMultipleIntervals() { CharacterSet set = new CharacterSet(); // set contains A-Za-z0-9-:_ set.addInterval('A', 'Z'); set.addInterval('a', 'z'); set.addInterval('_', '_'); set.addInterval(':', ':'); set.addInterval('-', '-'); set.addInterval('0', '9'); set.close(); assertTrue("set contains unknown character", !set.contains((char) 0x19)); assertTrue("set contains unknown character", !set.contains((char) 0x21)); assertTrue("set contains unknown character", !set.contains(' ')); assertTrue("set contains unknown character", !set.contains((char) 0x0321)); assertTrue("set doesn't contain added character 'a'", set.contains('a')); assertTrue("set doesn't contain added character 'g'", set.contains('g')); assertTrue("set doesn't contain added character 'z'", set.contains('z')); assertTrue("set doesn't contain added character '1'", set.contains('1')); assertTrue("set doesn't contain added character ':'", set.contains(':')); assertTrue("set doesn't contain added character 'A'", set.contains('A')); } }