From AddOn Studio
Jump to navigation Jump to search

This is the main XML UI reference in WoW, including the FrameXML definition API reference.

Below, the Reference section contains detailed technical information, Guides for contains getting started and further understanding, and Summary for overall concepts about how FrameXML and XML UI relate to WoW Interface Customization.


  • XML elements - major Ui elements, including widgets
  • XML attributes - common attributes used to define major Ui elements
  • XML properties - configuration type elements used to define the major Ui elements
  • XML types - XML types used by the Ui elements and attributes
  • FrameXML - XML UI definition API, or the regular in-world WoW UI definitions
  • GlueXML - The non-world WoW UI definitions


  • XML Basics - Starter guide for understanding XML and XML documents
  • WoW XML Tutorial - Walk-through with various examples for using UI XML


WoW is capable of loading special .xml files used to describe and create UI elements. WoW uses this facility to create nearly all of its own native user interface frames and elements when WoW is started. These .xml files and facilities can also be used for custom user interface elements.

The XML UI reference is useful for creating and editing FrameXML files, and as a cross-reference for the Widget API and the base WoW API. The term 'element' is an XML term for describing hierarcical parts of an XML document. However you will see the terms 'elements', 'uiobjects', 'widgets', 'frames', and 'layout frames' sometimes used interchangebly. To disambiguate, the term 'FrameXML' will be used when referring to the WoW XML UI meaning.


Example FrameXML File

 <Ui xmlns=""
   <Script file="MyFrame.lua" />
   <Frame name="MyAddon_MyFrame" parent="UIParent" toplevel="true" enableMouse="true">
       <AbsDimension x="200" y="200" />
       <Anchor point="CENTER" />
     <Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background"
           edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
         <AbsInset left="11" right="12" top="12" bottom="11"/>
         <AbsValue val="32"/>
         <AbsValue val="32"/>