@Override
            public void checkValid() throws DatatypeException {
                if (codepoint == -2) {
                    throw newDatatypeException(
                            "The empty string is not a " + getName() + ".");
                } else if (codepoint == -1) {
                    throw newDatatypeException(
                            "A " + getName() + " must be a single character.");
                } else if (!getUnicodeSet().contains(codepoint)) {
                    throw newDatatypeException(0, "The character ",
                            UCharacter.toString(codepoint),
                            " is not a " + getName() + ".");
                }
            }
@see nu.validator.datatype.AbstractDatatype#createStreamingValidator(org.relaxng.datatype.ValidationContext)
src/nu/validator/datatype/AbstractUnicodeClassCharacter.java