String (final String name) { // Cannot be empty or null if ((name == null)) { return "XML names cannot be null"; } final int len = name.length(); if (len == 0) { return "XML names cannot be empty"; } // Cannot start with a number if (!isXMLNameStartCharacter(name.charAt(0))) { return "XML names cannot begin with the character \"" + name.charAt(0) + "\""; } // Ensure legal content for non-first chars for (int i = 1; i < len; i++) { if (!isXMLNameCharacter(name.charAt(i))) { return "XML names cannot contain the character \"" + name.charAt(i) + "\""; } } // We got here, so everything is OK return null; }