vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Sam Lantinga (Blizzard Entertainment) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.blizzard.com/wow/ui/" xmlns:ui="http://www.blizzard.com/wow/ui/" targetNamespace="http://www.blizzard.com/wow/ui/" elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:simpleType name="FRAMEPOINT">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="TOPLEFT"/>
                        <xs:enumeration value="TOPRIGHT"/>
                        <xs:enumeration value="BOTTOMLEFT"/>
                        <xs:enumeration value="BOTTOMRIGHT"/>
                        <xs:enumeration value="TOP"/>
                        <xs:enumeration value="BOTTOM"/>
                        <xs:enumeration value="LEFT"/>
                        <xs:enumeration value="RIGHT"/>
                        <xs:enumeration value="CENTER"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="FRAMESTRATA">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="PARENT"/>
                        <xs:enumeration value="BACKGROUND"/>
                        <xs:enumeration value="LOW"/>
                        <xs:enumeration value="MEDIUM"/>
                        <xs:enumeration value="HIGH"/>
                        <xs:enumeration value="DIALOG"/>
                        <xs:enumeration value="FULLSCREEN"/>
                        <xs:enumeration value="FULLSCREEN_DIALOG"/>
                        <xs:enumeration value="TOOLTIP"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="DRAWLAYER">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="BACKGROUND"/>
                        <xs:enumeration value="BORDER"/>
                        <xs:enumeration value="ARTWORK"/>
                        <xs:enumeration value="OVERLAY"/>
                        <xs:enumeration value="HIGHLIGHT"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="ALPHAMODE">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="DISABLE"/>
                        <xs:enumeration value="BLEND"/>
                        <xs:enumeration value="ALPHAKEY"/>
                        <xs:enumeration value="ADD"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="OUTLINETYPE">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="NONE"/>
                        <xs:enumeration value="NORMAL"/>
                        <xs:enumeration value="THICK"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="JUSTIFYVTYPE">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="TOP"/>
                        <xs:enumeration value="MIDDLE"/>
                        <xs:enumeration value="BOTTOM"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="JUSTIFYHTYPE">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="LEFT"/>
                        <xs:enumeration value="CENTER"/>
                        <xs:enumeration value="RIGHT"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="INSERTMODE">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="TOP"/>
                        <xs:enumeration value="BOTTOM"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="ORIENTATION">
                <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="HORIZONTAL"/>
                        <xs:enumeration value="VERTICAL"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:element name="AbsValue">
                <xs:complexType>
                        <xs:attribute name="val" type="xs:int" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="RelValue">
                <xs:complexType>
                        <xs:attribute name="val" type="xs:float" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="Value">
                <xs:choice minOccurs="0">
                        <xs:element ref="AbsValue"/>
                        <xs:element ref="RelValue"/>
                </xs:choice>
                <xs:attribute name="val" type="xs:int" use="optional"/>
        </xs:complexType>
        <xs:element name="AbsDimension">
                <xs:complexType>
                        <xs:attribute name="x" type="xs:int" use="required"/>
                        <xs:attribute name="y" type="xs:int" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="RelDimension">
                <xs:complexType>
                        <xs:attribute name="x" type="xs:float" use="required"/>
                        <xs:attribute name="y" type="xs:float" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="Dimension">
                <xs:choice minOccurs="0">
                        <xs:element ref="AbsDimension"/>
                        <xs:element ref="RelDimension"/>
                </xs:choice>
                <xs:attribute name="x" type="xs:int" use="optional"/>
                <xs:attribute name="y" type="xs:int" use="optional"/>
        </xs:complexType>
        <xs:element name="AbsInset">
                <xs:complexType>
                        <xs:attribute name="left" type="xs:int" use="optional"/>
                        <xs:attribute name="right" type="xs:int" use="optional"/>
                        <xs:attribute name="top" type="xs:int" use="optional"/>
                        <xs:attribute name="bottom" type="xs:int" use="optional"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="RelInset">
                <xs:complexType>
                        <xs:attribute name="left" type="xs:float" use="required"/>
                        <xs:attribute name="right" type="xs:float" use="required"/>
                        <xs:attribute name="top" type="xs:float" use="required"/>
                        <xs:attribute name="bottom" type="xs:float" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="Inset">
                <xs:choice minOccurs="0">
                        <xs:element ref="AbsInset"/>
                        <xs:element ref="RelInset"/>
                </xs:choice>
                <xs:attribute name="left" type="xs:int" use="optional"/>
                <xs:attribute name="right" type="xs:int" use="optional"/>
                <xs:attribute name="top" type="xs:int" use="optional"/>
                <xs:attribute name="bottom" type="xs:int" use="optional"/>
        </xs:complexType>
        <xs:simpleType name="ColorFloat">
                <xs:restriction base="xs:float">
                        <xs:minInclusive value="0.0"/>
                        <xs:maxInclusive value="1.0"/>
                </xs:restriction>
        </xs:simpleType>
        <xs:complexType name="ColorType">
                <xs:attribute name="r" type="ColorFloat" use="required"/>
                <xs:attribute name="g" type="ColorFloat" use="required"/>
                <xs:attribute name="b" type="ColorFloat" use="required"/>
                <xs:attribute name="a" type="ColorFloat" default="1.0"/>
        </xs:complexType>
        <xs:complexType name="GradientType">
                <xs:sequence>
                        <xs:element name="MinColor" type="ColorType"/>
                        <xs:element name="MaxColor" type="ColorType"/>
                </xs:sequence>
                <xs:attribute name="orientation" type="ORIENTATION" default="HORIZONTAL"/>
        </xs:complexType>
        <xs:complexType name="ScriptsType">
                <xs:sequence>
                        <xs:choice maxOccurs="unbounded">
                                <xs:element name="OnLoad" type="xs:string"/>
                                <xs:element name="OnSizeChanged" type="xs:string"/>
                                <xs:element name="OnEvent" type="xs:string"/>
                                <xs:element name="OnUpdate" type="xs:string"/>
                                <xs:element name="OnShow" type="xs:string"/>
                                <xs:element name="OnHide" type="xs:string"/>
                                <xs:element name="OnEnter" type="xs:string"/>
                                <xs:element name="OnLeave" type="xs:string"/>
                                <xs:element name="OnMouseDown" type="xs:string"/>
                                <xs:element name="OnMouseUp" type="xs:string"/>
                                <xs:element name="OnMouseWheel" type="xs:string"/>
                                <xs:element name="OnDragStart" type="xs:string"/>
                                <xs:element name="OnDragStop" type="xs:string"/>
                                <xs:element name="OnReceiveDrag" type="xs:string"/>
                                <xs:element name="OnClick" type="xs:string"/>
                                <xs:element name="OnDoubleClick" type="xs:string"/>
                                <xs:element name="OnValueChanged" type="xs:string"/>
                                <xs:element name="OnUpdateModel" type="xs:string"/>
                                <xs:element name="OnAnimFinished" type="xs:string"/>
                                <xs:element name="OnEnterPressed" type="xs:string"/>
                                <xs:element name="OnEscapePressed" type="xs:string"/>
                                <xs:element name="OnSpacePressed" type="xs:string"/>
                                <xs:element name="OnTabPressed" type="xs:string"/>
                                <xs:element name="OnTextChanged" type="xs:string"/>
                                <xs:element name="OnTextSet" type="xs:string"/>
                                <xs:element name="OnCursorChanged" type="xs:string"/>
                                <xs:element name="OnInputLanguageChanged" type="xs:string"/>
                                <xs:element name="OnEditFocusGained" type="xs:string"/>
                                <xs:element name="OnEditFocusLost" type="xs:string"/>
                                <xs:element name="OnHorizontalScroll" type="xs:string"/>
                                <xs:element name="OnVerticalScroll" type="xs:string"/>
                                <xs:element name="OnScrollRangeChanged" type="xs:string"/>
                                <xs:element name="OnChar" type="xs:string"/>
                                <xs:element name="OnKeyDown" type="xs:string"/>
                                <xs:element name="OnKeyUp" type="xs:string"/>
                                <xs:element name="OnColorSelect" type="xs:string"/>
                                <xs:element name="OnHyperlinkEnter" type="xs:string"/>
                                <xs:element name="OnHyperlinkLeave" type="xs:string"/>
                                <xs:element name="OnHyperlinkClick" type="xs:string"/>
                                <xs:element name="OnMessageScrollChanged" type="xs:string"/>
                                <xs:element name="OnMovieFinished" type="xs:string"/>
                                <xs:element name="OnMovieShowSubtitle" type="xs:string"/>
                                <xs:element name="OnMovieHideSubtitle" type="xs:string"/>
                                <xs:element name="OnTooltipSetDefaultAnchor" type="xs:string"/>
                                <xs:element name="OnTooltipCleared" type="xs:string"/>
                                <xs:element name="OnTooltipAddMoney" type="xs:string"/>
                        </xs:choice>
                </xs:sequence>
        </xs:complexType>
        <xs:complexType name="LayoutFrameType">
                <xs:sequence minOccurs="0">
                        <xs:choice maxOccurs="unbounded">
                                <xs:element name="Size" type="Dimension"/>
                                <xs:element name="Anchors">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element name="Anchor" maxOccurs="unbounded">
                                                                <xs:complexType>
                                                                        <xs:sequence minOccurs="0">
                                                                                <xs:element name="Offset" type="Dimension"/>
                                                                        </xs:sequence>
                                                                        <xs:attribute name="point" type="FRAMEPOINT" use="required"/>
                                                                        <xs:attribute name="relativeTo" type="xs:string"/>
                                                                        <xs:attribute name="relativePoint" type="FRAMEPOINT"/>
                                                                </xs:complexType>
                                                        </xs:element>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                        </xs:choice>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string"/>
                <xs:attribute name="inherits" type="xs:string"/>
                <xs:attribute name="virtual" type="xs:boolean" default="false"/>
                <xs:attribute name="setAllPoints" type="xs:boolean" default="false"/>
                <xs:attribute name="hidden" type="xs:boolean" default="false"/>
        </xs:complexType>
        <xs:element name="LayoutFrame" type="LayoutFrameType"/>
        <xs:complexType name="BackdropType">
                <xs:sequence minOccurs="0">
                        <xs:choice maxOccurs="unbounded">
                                <xs:element name="BackgroundInsets" type="Inset"/>
                                <xs:element name="TileSize" type="Value"/>
                                <xs:element name="EdgeSize" type="Value"/>
                        </xs:choice>
                </xs:sequence>
                <xs:attribute name="bgFile" type="xs:string"/>
                <xs:attribute name="edgeFile" type="xs:string"/>
                <xs:attribute name="tile" type="xs:boolean" default="false"/>
        </xs:complexType>
        <xs:complexType name="TextureType">
                <xs:complexContent>
                        <xs:extension base="LayoutFrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="TexCoords">
                                                        <xs:complexType>
                                                                <xs:attribute name="left" type="xs:float" use="required"/>
                                                                <xs:attribute name="right" type="xs:float" use="required"/>
                                                                <xs:attribute name="top" type="xs:float" use="required"/>
                                                                <xs:attribute name="bottom" type="xs:float" use="required"/>
                                                        </xs:complexType>
                                                </xs:element>
                                                <xs:element name="Color" type="ColorType"/>
                                                <xs:element name="Gradient" type="GradientType"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="file" type="xs:string"/>
                                <xs:attribute name="alphaMode" type="ALPHAMODE" default="BLEND"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Texture" type="TextureType" substitutionGroup="LayoutFrame"/>
        <xs:complexType name="FontStringType">
                <xs:complexContent>
                        <xs:extension base="LayoutFrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="FontHeight" type="Value"/>
                                                <xs:element name="Color" type="ColorType"/>
                                                <xs:element name="Shadow">
                                                        <xs:complexType>
                                                                <xs:sequence minOccurs="0">
                                                                        <xs:choice maxOccurs="unbounded">
                                                                                <xs:element name="Color" type="ColorType"/>
                                                                                <xs:element name="Offset" type="Dimension"/>
                                                                        </xs:choice>
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="font" type="xs:string"/>
                                <xs:attribute name="bytes" default="255">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:int">
                                                        <xs:minInclusive value="0"/>
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:attribute>
                                <xs:attribute name="text" type="xs:string"/>
                                <xs:attribute name="spacing" type="xs:float" default="0"/>
                                <xs:attribute name="outline" type="OUTLINETYPE" default="NONE"/>
                                <xs:attribute name="monochrome" type="xs:boolean" default="false"/>
                                <xs:attribute name="nonspacewrap" type="xs:boolean" default="false"/>
                                <xs:attribute name="justifyV" type="JUSTIFYVTYPE" default="MIDDLE"/>
                                <xs:attribute name="justifyH" type="JUSTIFYHTYPE" default="CENTER"/>
                                <xs:attribute name="maxLines" type="xs:unsignedInt" default="0"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="FontString" type="FontStringType" substitutionGroup="LayoutFrame"/>
        <xs:complexType name="FrameType">
                <xs:complexContent>
                        <xs:extension base="LayoutFrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="TitleRegion" type="ui:LayoutFrameType"/>
                                                <xs:element name="ResizeBounds">
                                                        <xs:complexType>
                                                                <xs:sequence>
                                                                        <xs:choice maxOccurs="unbounded">
                                                                                <xs:element name="minResize" type="Dimension"/>
                                                                                <xs:element name="maxResize" type="Dimension"/>
                                                                        </xs:choice>
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
                                                <xs:element name="Backdrop" type="BackdropType"/>
                                                <xs:element name="HitRectInsets" type="Inset"/>
                                                <xs:element name="Layers">
                                                        <xs:complexType>
                                                                <xs:sequence>
                                                                        <xs:element name="Layer" maxOccurs="unbounded">
                                                                                <xs:complexType>
                                                                                        <xs:sequence>
                                                                                                <xs:choice maxOccurs="unbounded">
                                                                                                        <xs:element ref="Texture"/>
                                                                                                        <xs:element ref="FontString"/>
                                                                                                </xs:choice>
                                                                                        </xs:sequence>
                                                                                        <xs:attribute name="level" type="DRAWLAYER" default="ARTWORK"/>
                                                                                </xs:complexType>
                                                                        </xs:element>
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
                                                <xs:element name="Frames">
                                                        <xs:complexType>
                                                                <xs:sequence>
                                                                        <xs:element ref="Frame" maxOccurs="unbounded"/>
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
                                                <xs:element name="Scripts" type="ScriptsType"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="alpha" type="xs:float" default="1.0"/>
                                <xs:attribute name="parent" type="xs:string"/>
                                <xs:attribute name="toplevel" type="xs:boolean" default="false"/>
                                <xs:attribute name="movable" type="xs:boolean" default="false"/>
                                <xs:attribute name="resizable" type="xs:boolean" default="false"/>
                                <xs:attribute name="frameStrata" type="ui:FRAMESTRATA" default="PARENT"/>
                                <xs:attribute name="frameLevel" type="xs:int"/>
                                <xs:attribute name="id" type="xs:int" default="0"/>
                                <xs:attribute name="enableMouse" type="xs:boolean" default="false"/>
                                <xs:attribute name="enableKeyboard" type="xs:boolean" default="false"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Frame" type="FrameType" substitutionGroup="LayoutFrame"/>
        <xs:complexType name="ButtonType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="NormalTexture" type="ui:TextureType"/>
                                                <xs:element name="PushedTexture" type="ui:TextureType"/>
                                                <xs:element name="DisabledTexture" type="ui:TextureType"/>
                                                <xs:element name="HighlightTexture" type="ui:TextureType"/>
                                                <xs:element name="NormalText" type="FontStringType"/>
                                                <xs:element name="HighlightText" type="FontStringType"/>
                                                <xs:element name="DisabledText" type="FontStringType"/>
                                                <xs:element name="PushedTextOffset" type="Dimension"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="text" type="xs:string"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Button" type="ButtonType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="CheckButtonType">
                <xs:complexContent>
                        <xs:extension base="ButtonType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="CheckedTexture" type="TextureType"/>
                                                <xs:element name="DisabledCheckedTexture" type="TextureType"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="checked" type="xs:boolean" default="false"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="CheckButton" type="CheckButtonType" substitutionGroup="ui:Button"/>
        <xs:complexType name="StatusBarType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="BarTexture" type="TextureType"/>
                                                <xs:element name="BarColor" type="ui:ColorType"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="drawLayer" type="ui:DRAWLAYER" default="ARTWORK"/>
                                <xs:attribute name="minValue" type="xs:float"/>
                                <xs:attribute name="maxValue" type="xs:float"/>
                                <xs:attribute name="defaultValue" type="xs:float"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="StatusBar" type="StatusBarType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="SliderType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="ThumbTexture" type="TextureType"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="drawLayer" type="ui:DRAWLAYER" default="OVERLAY"/>
                                <xs:attribute name="minValue" type="xs:float"/>
                                <xs:attribute name="maxValue" type="xs:float"/>
                                <xs:attribute name="defaultValue" type="xs:float"/>
                                <xs:attribute name="valueStep" type="xs:float"/>
                                <xs:attribute name="orientation" type="ui:ORIENTATION" default="VERTICAL"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Slider" type="SliderType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="EditBoxType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element ref="FontString"/>
                                                <xs:element name="HighlightColor" type="ColorType"/>
                                                <xs:element name="TextInsets" type="Inset"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="letters" type="xs:int" default="0"/>
                                <xs:attribute name="blinkSpeed" type="xs:float" default="0.5"/>
                                <xs:attribute name="numeric" type="xs:boolean" default="false"/>
                                <xs:attribute name="password" type="xs:boolean" default="false"/>
                                <xs:attribute name="multiLine" type="xs:boolean" default="false"/>
                                <xs:attribute name="historyLines" type="xs:int" default="0"/>
                                <xs:attribute name="autoFocus" type="xs:boolean" default="true"/>
                                <xs:attribute name="ignoreArrows" type="xs:boolean" default="false"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="EditBox" type="EditBoxType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="ColorSelectType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence>
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element name="ColorWheelTexture" type="TextureType"/>
                                                <xs:element name="ColorWheelThumbTexture" type="TextureType"/>
                                                <xs:element name="ColorValueTexture" type="TextureType"/>
                                                <xs:element name="ColorValueThumbTexture" type="TextureType"/>
                                        </xs:choice>
                                </xs:sequence>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="ColorSelect" type="ui:ColorSelectType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="ModelType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:element name="FogColor" type="ColorType"/>
                                </xs:sequence>
                                <xs:attribute name="file" type="xs:string"/>
                                <xs:attribute name="scale" type="xs:float" default="1.0"/>
                                <xs:attribute name="fogNear" default="0.0">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:float"/>
                                        </xs:simpleType>
                                </xs:attribute>
                                <xs:attribute name="fogFar" default="1.0">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:float"/>
                                        </xs:simpleType>
                                </xs:attribute>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Model" type="ModelType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="SimpleHTMLType">
                <xs:complexContent>
                        <xs:extension base="ui:FrameType">
                                <xs:sequence>
                                        <xs:element ref="FontString"/>
                                        <xs:sequence minOccurs="0">
                                                <xs:choice maxOccurs="unbounded">
                                                        <xs:element name="FontStringHeader1" type="ui:FontStringType"/>
                                                        <xs:element name="FontStringHeader2" type="ui:FontStringType"/>
                                                        <xs:element name="FontStringHeader3" type="ui:FontStringType"/>
                                                </xs:choice>
                                        </xs:sequence>
                                </xs:sequence>
                                <xs:attribute name="file" type="xs:string"/>
                                <xs:attribute name="hyperlinkFormat" type="xs:string" default="|H%s|h%s|h"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="SimpleHTML" type="ui:SimpleHTMLType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="MessageFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element ref="FontString"/>
                                                <xs:element name="TextInsets" type="Inset"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="fadeDuration" type="xs:float" default="3.0"/>
                                <xs:attribute name="insertMode" type="INSERTMODE" default="BOTTOM"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="MessageFrame" type="MessageFrameType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="ScrollingMessageFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice maxOccurs="unbounded">
                                                <xs:element ref="FontString"/>
                                                <xs:element name="TextInsets" type="Inset"/>
                                        </xs:choice>
                                </xs:sequence>
                                <xs:attribute name="fade" type="xs:boolean" default="true"/>
                                <xs:attribute name="fadeDuration" type="xs:float" default="3.0"/>
                                <xs:attribute name="displayDuration" type="xs:float" default="10.0"/>
                                <xs:attribute name="maxLines" default="8">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:int">
                                                        <xs:minInclusive value="1"/>
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:attribute>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="ScrollingMessageFrame" type="ScrollingMessageFrameType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="ScrollFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:sequence minOccurs="0">
                                        <xs:choice>
                                                <xs:element name="ScrollChild">
                                                        <xs:complexType>
                                                                <xs:sequence>
                                                                        <xs:element ref="Frame"/>
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
                                        </xs:choice>
                                </xs:sequence>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="ScrollFrame" type="ScrollFrameType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="MovieFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="MovieFrame" type="MovieFrameType" substitutionGroup="ui:Frame"/>
        <xs:element name="Ui">
                <xs:complexType>
                        <xs:sequence>
                                <xs:choice maxOccurs="unbounded">
                                        <xs:element name="Include" minOccurs="0" maxOccurs="unbounded">
                                                <xs:complexType>
                                                        <xs:simpleContent>
                                                                <xs:extension base="xs:string">
                                                                        <xs:attribute name="file" type="xs:string" use="required"/>
                                                                </xs:extension>
                                                        </xs:simpleContent>
                                                </xs:complexType>
                                        </xs:element>
                                        <xs:element name="Script" minOccurs="0" maxOccurs="unbounded">
                                                <xs:complexType>
                                                        <xs:simpleContent>
                                                                <xs:extension base="xs:string">
                                                                        <xs:attribute name="file" type="xs:string" use="optional"/>
                                                                </xs:extension>
                                                        </xs:simpleContent>
                                                </xs:complexType>
                                        </xs:element>
                                        <xs:element ref="LayoutFrame" minOccurs="0" maxOccurs="unbounded"/>
                                </xs:choice>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="WorldFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="WorldFrame" type="WorldFrameType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="GameTooltipType">
                <xs:complexContent>
                        <xs:extension base="FrameType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="GameTooltip" type="GameTooltipType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="MinimapType">
                <xs:complexContent>
                        <xs:extension base="FrameType">
                                <xs:attribute name="minimapArrowModel" type="xs:string"/>
                                <xs:attribute name="minimapPlayerModel" type="xs:string"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Minimap" type="MinimapType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="PlayerModelType">
                <xs:complexContent>
                        <xs:extension base="ModelType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="PlayerModel" type="PlayerModelType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="DressUpModelType">
                <xs:complexContent>
                        <xs:extension base="PlayerModelType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="DressUpModel" type="DressUpModelType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="TabardModelType">
                <xs:complexContent>
                        <xs:extension base="PlayerModelType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="TabardModel" type="TabardModelType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="LootButtonType">
                <xs:complexContent>
                        <xs:extension base="ButtonType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="LootButton" type="LootButtonType" substitutionGroup="ui:Frame"/>
        <xs:complexType name="TaxiRouteFrameType">
                <xs:complexContent>
                        <xs:extension base="FrameType"/>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="TaxiRouteFrame" type="TaxiRouteFrameType" substitutionGroup="ui:Frame"/>
</xs:schema>