<?xml version="1.0" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="Falagard" type="falagardSpecificationType" /> <xsd:complexType name="falagardSpecificationType"> <xsd:sequence> <xsd:element name="WidgetLook" type="widgetLookType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="widgetLookType"> <xsd:sequence> <xsd:element name="PropertyDefinition" type="propertyDefinitionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="PropertyLinkDefinition" type="propertyLinkDefinitionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="NamedArea" type="namedAreaType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Child" type="widgetComponentType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="ImagerySection" type="imagerySectionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="StateImagery" type="stateType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="propertyDefinitionType"> <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" /> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" /> <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" /> <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" /> </xsd:complexType> <xsd:complexType name="propertyLinkDefinitionType"> <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" /> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="widget" type="xsd:string" use="required" /> <xsd:attribute name="targetProperty" type="xsd:string" use="optional" default="" /> <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" /> <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" /> <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" /> </xsd:complexType> <xsd:complexType name="namedAreaType"> <xsd:sequence> <xsd:element name="Area" type="componentAreaType" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="stateType"> <xsd:sequence> <xsd:element name="Layer" type="layerType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="clipped" type="xsd:boolean" use="optional" default="true" /> </xsd:complexType> <xsd:complexType name="layerType"> <xsd:sequence> <xsd:element name="Section" type="sectionSpecType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="priority" type="xsd:integer" use="optional" default="0" /> </xsd:complexType> <xsd:complexType name="sectionSpecType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="Colour" type="colourType" /> <xsd:element name="Colours" type="colourRectType" /> <xsd:element name="ColourProperty" type="settingByPropertyType" /> <xsd:element name="ColourRectProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:attribute name="look" type="xsd:string" use="optional" default="" /> <xsd:attribute name="section" type="xsd:string" use="required" /> <xsd:attribute name="controlProperty" type="xsd:string" use="optional" default="" /> </xsd:complexType> <xsd:complexType name="imagerySectionType"> <xsd:sequence> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="Colour" type="colourType" /> <xsd:element name="Colours" type="colourRectType" /> <xsd:element name="ColourProperty" type="settingByPropertyType" /> <xsd:element name="ColourRectProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:element name="FrameComponent" type="frameComponentType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="ImageryComponent" type="imageryComponentType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="TextComponent" type="textComponentType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="frameComponentType"> <xsd:sequence> <xsd:element name="Area" type="componentAreaType" /> <xsd:element name="Image" type="frameImageType" minOccurs="0" maxOccurs="9" /> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="Colour" type="colourType" /> <xsd:element name="Colours" type="colourRectType" /> <xsd:element name="ColourProperty" type="settingByPropertyType" /> <xsd:element name="ColourRectProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="VertFormat" type="vertFormatType" /> <xsd:element name="VertFormatProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="HorzFormat" type="horzFormatType" /> <xsd:element name="HorzFormatProperty" type="settingByPropertyType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="textComponentType"> <xsd:sequence> <xsd:element name="Area" type="componentAreaType" /> <xsd:element name="Text" type="textStringType" minOccurs="0" maxOccurs="1" /> <xsd:element name="TextProperty" type="textPropertyType" minOccurs="0" maxOccurs="1" /> <xsd:element name="FontProperty" type="fontPropertyType" minOccurs="0" maxOccurs="1" /> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="Colour" type="colourType" /> <xsd:element name="Colours" type="colourRectType" /> <xsd:element name="ColourProperty" type="settingByPropertyType" /> <xsd:element name="ColourRectProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="VertFormat" type="vertTextFormatType" /> <xsd:element name="VertFormatProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="HorzFormat" type="horzTextFormatType" /> <xsd:element name="HorzFormatProperty" type="settingByPropertyType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="imageryComponentType"> <xsd:sequence> <xsd:element name="Area" type="componentAreaType" /> <xsd:choice> <xsd:element name="Image" type="imageType" /> <xsd:element name="ImageProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="Colour" type="colourType" /> <xsd:element name="Colours" type="colourRectType" /> <xsd:element name="ColourProperty" type="settingByPropertyType" /> <xsd:element name="ColourRectProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="VertFormat" type="vertFormatType" /> <xsd:element name="VertFormatProperty" type="settingByPropertyType" /> </xsd:choice> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="HorzFormat" type="horzFormatType" /> <xsd:element name="HorzFormatProperty" type="settingByPropertyType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="widgetComponentType"> <xsd:sequence> <xsd:element name="Area" type="componentAreaType" /> <xsd:element name="VertAlignment" type="vertAlignmentType" minOccurs="0" maxOccurs="1" /> <xsd:element name="HorzAlignment" type="horzAlignmentType" minOccurs="0" maxOccurs="1" /> <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="type" type="xsd:string" use="required" /> <xsd:attribute name="nameSuffix" type="xsd:string" use="required" /> <xsd:attribute name="renderer" type="xsd:string" use="optional" default="" /> <xsd:attribute name="look" type="xsd:string" use="optional" default="" /> </xsd:complexType> <xsd:complexType name="horzFormatType"> <xsd:attribute name="type" type="horzFormatEnum" use="required" /> </xsd:complexType> <xsd:complexType name="vertFormatType"> <xsd:attribute name="type" type="vertFormatEnum" use="required" /> </xsd:complexType> <xsd:complexType name="horzTextFormatType"> <xsd:attribute name="type" type="horzTextFormatEnum" use="required" /> </xsd:complexType> <xsd:complexType name="vertTextFormatType"> <xsd:attribute name="type" type="vertTextFormatEnum" use="required" /> </xsd:complexType> <xsd:complexType name="horzAlignmentType"> <xsd:attribute name="type" type="horzAlignmentEnum" use="required" /> </xsd:complexType> <xsd:complexType name="vertAlignmentType"> <xsd:attribute name="type" type="vertAlignmentEnum" use="required" /> </xsd:complexType> <xsd:complexType name="propertyType"> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="value" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="imageType"> <xsd:attribute name="imageset" type="xsd:string" use="required" /> <xsd:attribute name="image" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="frameImageType"> <xsd:attribute name="type" type="frameImageComponentEnum" use="required" /> <xsd:attribute name="imageset" type="xsd:string" use="required" /> <xsd:attribute name="image" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="componentAreaType"> <xsd:choice> <xsd:sequence> <xsd:element name="Dim" type="dimensionType" minOccurs="4" maxOccurs="4" /> </xsd:sequence> <xsd:element name="AreaProperty" type="settingByPropertyType" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="dimensionType"> <xsd:choice> <xsd:element name="UnifiedDim" type="unifiedDimType" /> <xsd:element name="AbsoluteDim" type="absoluteDimType" /> <xsd:element name="ImageDim" type="imageDimType" /> <xsd:element name="WidgetDim" type="widgetDimType" /> <xsd:element name="FontDim" type="fontDimType" /> <xsd:element name="PropertyDim" type="propertyDimType" /> </xsd:choice> <xsd:attribute name="type" type="dimensionTypeEnum" use="required" /> </xsd:complexType> <xsd:complexType name="fontDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="widget" type="xsd:string" use="optional" default="" /> <xsd:attribute name="font" type="xsd:string" use="optional" default="" /> <xsd:attribute name="string" type="xsd:string" use="optional" default="" /> <xsd:attribute name="type" type="fontMetricTypeEnum" use="required" /> <xsd:attribute name="padding" type="xsd:decimal" use="optional" default="0" /> </xsd:complexType> <xsd:complexType name="propertyDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="widget" type="xsd:string" use="optional" default="" /> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="type" type="propertyDimensionTypeEnum" use="optional" default="" /> </xsd:complexType> <xsd:complexType name="unifiedDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="scale" type="xsd:decimal" use="optional" default="0" /> <xsd:attribute name="offset" type="xsd:integer" use="optional" default="0" /> <xsd:attribute name="type" type="dimensionTypeEnum" use="required" /> </xsd:complexType> <xsd:complexType name="absoluteDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="value" type="xsd:decimal" use="optional" default="0" /> </xsd:complexType> <xsd:complexType name="imageDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="imageset" type="xsd:string" use="required" /> <xsd:attribute name="image" type="xsd:string" use="required" /> <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" /> </xsd:complexType> <xsd:complexType name="widgetDimType"> <xsd:sequence> <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="widget" type="xsd:string" use="optional" default="" /> <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" /> </xsd:complexType> <xsd:complexType name="settingByPropertyType"> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="colourRectType"> <xsd:attribute name="topLeft" type="colourValType" use="required" /> <xsd:attribute name="topRight" type="colourValType" use="required" /> <xsd:attribute name="bottomLeft" type="colourValType" use="required" /> <xsd:attribute name="bottomRight" type="colourValType" use="required" /> </xsd:complexType> <xsd:complexType name="colourType"> <xsd:attribute name="colour" type="colourValType" use="required" /> </xsd:complexType> <xsd:simpleType name="colourValType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-fA-F0-9]{8}" /> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="textStringType"> <xsd:attribute name="string" type="xsd:string" use="optional" default="" /> <xsd:attribute name="font" type="xsd:string" use="optional" default="" /> </xsd:complexType> <xsd:complexType name="textPropertyType"> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="fontPropertyType"> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> <xsd:complexType name="dimensionOperatorType"> <xsd:choice> <xsd:element name="UnifiedDim" type="unifiedDimType" /> <xsd:element name="AbsoluteDim" type="absoluteDimType" /> <xsd:element name="ImageDim" type="imageDimType" /> <xsd:element name="WidgetDim" type="widgetDimType" /> <xsd:element name="FontDim" type="fontDimType" /> <xsd:element name="PropertyDim" type="propertyDimType" /> </xsd:choice> <xsd:attribute name="op" type="dimensionOperatorEnum" use="required" /> </xsd:complexType> <xsd:simpleType name="propertyDimensionTypeEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="" /> <xsd:enumeration value="Width" /> <xsd:enumeration value="Height" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="dimensionTypeEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="LeftEdge" /> <xsd:enumeration value="TopEdge" /> <xsd:enumeration value="RightEdge" /> <xsd:enumeration value="BottomEdge" /> <xsd:enumeration value="XPosition" /> <xsd:enumeration value="YPosition" /> <xsd:enumeration value="Width" /> <xsd:enumeration value="Height" /> <xsd:enumeration value="XOffset" /> <xsd:enumeration value="YOffset" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="vertFormatEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="TopAligned" /> <xsd:enumeration value="CentreAligned" /> <xsd:enumeration value="BottomAligned" /> <xsd:enumeration value="Stretched" /> <xsd:enumeration value="Tiled" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="horzFormatEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="LeftAligned" /> <xsd:enumeration value="CentreAligned" /> <xsd:enumeration value="RightAligned" /> <xsd:enumeration value="Stretched" /> <xsd:enumeration value="Tiled" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="vertAlignmentEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="TopAligned" /> <xsd:enumeration value="CentreAligned" /> <xsd:enumeration value="BottomAligned" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="horzAlignmentEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="LeftAligned" /> <xsd:enumeration value="CentreAligned" /> <xsd:enumeration value="RightAligned" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="horzTextFormatEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="LeftAligned" /> <xsd:enumeration value="RightAligned" /> <xsd:enumeration value="CentreAligned" /> <xsd:enumeration value="Justified" /> <xsd:enumeration value="WordWrapLeftAligned" /> <xsd:enumeration value="WordWrapRightAligned" /> <xsd:enumeration value="WordWrapCentreAligned" /> <xsd:enumeration value="WordWrapJustified" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="vertTextFormatEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="TopAligned" /> <xsd:enumeration value="BottomAligned" /> <xsd:enumeration value="CentreAligned" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="propertyTypeEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Generic" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="fontMetricTypeEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="LineSpacing" /> <xsd:enumeration value="Baseline" /> <xsd:enumeration value="HorzExtent" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="dimensionOperatorEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Noop" /> <xsd:enumeration value="Add" /> <xsd:enumeration value="Subtract" /> <xsd:enumeration value="Multiply" /> <xsd:enumeration value="Divide" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="frameImageComponentEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Background" /> <xsd:enumeration value="TopLeftCorner" /> <xsd:enumeration value="TopRightCorner" /> <xsd:enumeration value="BottomLeftCorner" /> <xsd:enumeration value="BottomRightCorner" /> <xsd:enumeration value="LeftEdge" /> <xsd:enumeration value="RightEdge" /> <xsd:enumeration value="TopEdge" /> <xsd:enumeration value="BottomEdge" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>