you might want to see the API docs of FakeXADataSource.
And here is the documentation for configuration
FakeXADataSource is OOTB in which you can give all the credentials and configuration for the properties like url or hostname. While XADatasource is provided by Java API for the DataSource which will be registed to the service in JNDI, for an instance using jboss as an application server and using the XADataSource you can configure in the atg-ds.xml file. refer to this link
And some useful links for reference
Samdani Gulam is absolutely right about the question .
To add In more simple words XADatasource is use when you have to deal with 2 or more database or when you have to do Distributed Transaction.
FakeXaDatasource is use when you are dealing with single database or when you are not using distributed transaction. Two-phase commits are NOT supported in FakeXaDatasource
SO What contain in XADatasource..properties and fakeXADatasource.properties file
If you check the definition of datasource it says Datasource is a name given to the connection set up to a database from a server. So in .properties file we give the details to connect the database .
So because of these details we say ATG Repository API is DataAnyWhere architecture.
Hope it helps :)