Actually there IS a universally accepted standard for getting mame data, namely the clrmamepro dat format just mentioned. It is the standard because up until recently, mame's "-listinfo" call outputted a dat in this format. Now that mame spits out xml though, many of us (myself included) have added custom xml parsers for mame. The beauty of mame is it's self-contained. In theory you can set it up in a fe without any external files, just calls to mame itself. This is why it's better to make your list generator launch mame, tell it to output a listinfo/xml file, parse it, and use that data to build your database. With this method users don't have to worry about finding the latest dat file, they can just have mame generate it.
For the rest of the emus out there, gonzo is correct in that it's best to use the clrmamepro files. They are nicer than a simple rom=name list because they often contain additional info, like the manufacturer and the date of production.