It depends on what you are trying to do. Are you trying to make objects or are you just trying to type JASS code?
Creating a custom compiler probably isn't the easier task. If you are making objects, then your compiler would have to translate your XML code to write the particular objects into the map's MPQ, similar to what GMSI/Lua does. Alternatively (better option IMO), you could write a parser to translate your XML code into GMSI code or Lua code. But of course, this means you have to have knowledge of the code you're translating to. So if it is just for personal use, then you might as well use the GMSI or Lua code.