/** * 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 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 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 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')); } }