How to Find all the Table with Particular Column Datatype in SQL Server

Here, I have taken example for XML Data type: 
  1. SELECT T.NAME AS [TABLE NAME], C.NAME AS [COLUMN NAME], P.NAME AS [DATA TYPE], P.MAX_LENGTH AS[SIZE], CAST(P.PRECISION AS VARCHAR) +'/'CAST(P.SCALE AS VARCHARAS [PRECISION/SCALE]  
  2.   
  3. FROM SYS.OBJECTS AS T  
  4.   
  5. JOIN SYS.COLUMNS AS C  
  6.   
  7. ON T.OBJECT_ID=C.OBJECT_ID  
  8.   
  9. JOIN SYS.TYPES AS P  
  10.   
  11. ON C.SYSTEM_TYPE_ID=P.SYSTEM_TYPE_ID  
  12.   
  13. WHERE T.TYPE_DESC='USER_TABLE' and P.name='xml'