WoW:Setting up Visual Studio for WoW XML
Microsoft Visual Studio comes with an excellent XML editor. By far, the most useful feature is that it can read an XSD file and know exactly how your XML is supposed to be structured (the only other XML editor I know of that can do this will set you back $500). This means that, for the most part, you don't have to memorize tag names, what tags can go where, attribute names, and in many circumstances, attribute values. As soon as you type the opening bracket, it will provide you with a drop-down list of all available tags that are legal given your current position in the code. Once you select a tag and hit space, you'll be presented with a list of all possible attributes for the tag. Select one, and if it's not a free-form value (like name, or val) it will present you with a list of all possible choices.
Not only does this save time, but it can also be a great learning tool. For instance, I accidentally found out that a lot of common structures can be simplified:
<Size> <AbsDimension x="320" y="200"/> </Size>
can written simply as:
<Size x="320" y="200"/>
Visual Studio
Chances are, you don't just have a copy of Visual Studio hanging around for your coding pleasure. Thankfully, Microsoft has released parts of VS for free. The Microsoft Visual Studio Express Editions are simplified copies of the most popular components: C++, C#, Visual Basic, J#, SQL Server, & Visual Web Developer. Download and install whichever component you think you might get some use out of since all we're really after here is the basic editor environment.
Be sure to set up VS as your default XML editor. For Windows XP the easiest way to do this is to right-click on any XML file, click Open With...->Choose Program, select Microsoft Visual Studio from the list (the name may be different depending on the edition you select), check Always use the selected program, and hit OK.
UI.xsd
Next, you will need to get a copy of UI.xsd. You can either use Blizzard's UI extractor or go to wdn.wowinterface.com and download the latest package. Navigate to the FrameXML folder and copy UI.xsd from there to your Interface\AddOns folder (you can actually use any location you like, but this is probably the simplest).
The Ui Tag
The last step is to use a Ui tag that points to the UI.xsd file we grabbed earlier. If you put the file in Interface\AddOns, your Ui tag should look like:
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ..\UI.xsd">
You should change the second line if you put your UI.xsd in a different location or if your XML is in a subfolder of your addon's main folder.
That's all there is to it!