code: public final boolean sameValue(Object value1, Object value2) {
          if (value1 == null) {
              return (value2 == null);
          }
          return value1.equals(value2);
      }
docs: Implements strict string equality semantics by performing a standard
  <code>equals</code> check on the arguments.
  @param value1 an object returned by <code>createValue</code>
  @param value2 another object returned by <code>createValue</code>
  @return <code>true</code> if the values are equal, <code>false</code> otherwise
  @see org.relaxng.datatype.Datatype#sameValue(java.lang.Object, java.lang.Object)