Falagard.xsd
上传用户:xhbjoy
上传日期:2014-10-07
资源大小:38068k
文件大小:18k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. <?xml version="1.0" ?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  3. <xsd:element name="Falagard" type="falagardSpecificationType" />
  4. <xsd:complexType name="falagardSpecificationType">
  5. <xsd:sequence>
  6. <xsd:element name="WidgetLook" type="widgetLookType" minOccurs="0" maxOccurs="unbounded" />
  7. </xsd:sequence>
  8. </xsd:complexType>
  9. <xsd:complexType name="widgetLookType">
  10. <xsd:sequence>
  11.             <xsd:element name="PropertyDefinition" type="propertyDefinitionType" minOccurs="0" maxOccurs="unbounded" />
  12.             <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" />
  13.             <xsd:element name="NamedArea" type="namedAreaType" minOccurs="0" maxOccurs="unbounded" />
  14. <xsd:element name="Child" type="widgetComponentType" minOccurs="0" maxOccurs="unbounded" />
  15. <xsd:element name="ImagerySection" type="imagerySectionType" minOccurs="0" maxOccurs="unbounded" />
  16. <xsd:element name="StateImagery" type="stateType" minOccurs="0" maxOccurs="unbounded" />
  17. </xsd:sequence>
  18. <xsd:attribute name="name" type="xsd:string" use="required" />
  19. </xsd:complexType>
  20.     <xsd:complexType name="propertyDefinitionType">
  21.         <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" />
  22.         <xsd:attribute name="name" type="xsd:string" use="required" />
  23.         <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" />
  24.         <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" />
  25.         <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" />
  26.     </xsd:complexType>
  27.     <xsd:complexType name="namedAreaType">
  28.         <xsd:sequence>
  29.             <xsd:element name="Area" type="componentAreaType" />
  30.         </xsd:sequence>
  31.         <xsd:attribute name="name" type="xsd:string" use="required" />
  32.     </xsd:complexType>
  33. <xsd:complexType name="stateType">
  34. <xsd:sequence>
  35. <xsd:element name="Layer" type="layerType" minOccurs="0" maxOccurs="unbounded" />
  36. </xsd:sequence>
  37. <xsd:attribute name="name" type="xsd:string" use="required" />
  38.         <xsd:attribute name="clipped" type="xsd:boolean" use="optional" default="true" />
  39. </xsd:complexType>
  40. <xsd:complexType name="layerType">
  41. <xsd:sequence>
  42. <xsd:element name="Section" type="sectionSpecType" minOccurs="0" maxOccurs="unbounded" />
  43. </xsd:sequence>
  44. <xsd:attribute name="priority" type="xsd:integer" use="optional" default="0" />
  45. </xsd:complexType>
  46.     <xsd:complexType name="sectionSpecType">
  47.         <xsd:choice  minOccurs="0" maxOccurs="1">
  48.             <xsd:element name="Colours" type="colourRectType" />
  49.             <xsd:element name="ColourProperty" type="settingByPropertyType" />
  50.             <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
  51.         </xsd:choice>
  52.         <xsd:attribute name="look" type="xsd:string" use="optional" default="" />
  53.         <xsd:attribute name="section" type="xsd:string" use="required" />
  54.     </xsd:complexType>
  55. <xsd:complexType name="imagerySectionType">
  56. <xsd:sequence>
  57.             <xsd:choice  minOccurs="0" maxOccurs="1">
  58.                 <xsd:element name="Colours" type="colourRectType" />
  59.                 <xsd:element name="ColourProperty" type="settingByPropertyType" />
  60.                 <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
  61.             </xsd:choice>
  62.             <xsd:element name="FrameComponent" type="frameComponentType" minOccurs="0" maxOccurs="unbounded" />
  63. <xsd:element name="ImageryComponent" type="imageryComponentType" minOccurs="0" maxOccurs="unbounded" />
  64.             <xsd:element name="TextComponent" type="textComponentType" minOccurs="0" maxOccurs="unbounded" />
  65. </xsd:sequence>
  66. <xsd:attribute name="name" type="xsd:string" use="required" />
  67. </xsd:complexType>
  68.     <xsd:complexType name="frameComponentType">
  69.         <xsd:sequence>
  70.             <xsd:element name="Area" type="componentAreaType" />
  71.             <xsd:element name="Image" type="frameImageType" minOccurs="0" maxOccurs="9" />
  72.             <xsd:choice  minOccurs="0" maxOccurs="1">
  73.                 <xsd:element name="Colours" type="colourRectType" />
  74.                 <xsd:element name="ColourProperty" type="settingByPropertyType" />
  75.                 <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
  76.             </xsd:choice>
  77.             <xsd:choice  minOccurs="0" maxOccurs="1">
  78.                 <xsd:element name="VertFormat" type="vertFormatType" />
  79.                 <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
  80.             </xsd:choice>
  81.             <xsd:choice  minOccurs="0" maxOccurs="1">
  82.                 <xsd:element name="HorzFormat" type="horzFormatType" />
  83.                 <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
  84.             </xsd:choice>
  85.         </xsd:sequence>
  86.     </xsd:complexType>
  87.     <xsd:complexType name="textComponentType">
  88.         <xsd:sequence>
  89.             <xsd:element name="Area" type="componentAreaType" />
  90.             <xsd:element name="Text" type="textStringType" minOccurs="0" maxOccurs="1" />
  91.             <xsd:choice  minOccurs="0" maxOccurs="1">
  92.                 <xsd:element name="Colours" type="colourRectType" />
  93.                 <xsd:element name="ColourProperty" type="settingByPropertyType" />
  94.                 <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
  95.             </xsd:choice>
  96.             <xsd:choice  minOccurs="0" maxOccurs="1">
  97.                 <xsd:element name="VertFormat" type="vertTextFormatType" />
  98.                 <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
  99.             </xsd:choice>
  100.             <xsd:choice  minOccurs="0" maxOccurs="1">
  101.                 <xsd:element name="HorzFormat" type="horzTextFormatType" />
  102.                 <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
  103.             </xsd:choice>
  104.         </xsd:sequence>
  105.     </xsd:complexType>
  106. <xsd:complexType name="imageryComponentType">
  107. <xsd:sequence>
  108. <xsd:element name="Area" type="componentAreaType" />
  109.             <xsd:choice>
  110.                 <xsd:element name="Image" type="imageType" />
  111.                 <xsd:element name="ImageProperty" type="settingByPropertyType" />
  112.             </xsd:choice>
  113.             <xsd:choice  minOccurs="0" maxOccurs="1">
  114.                 <xsd:element name="Colours" type="colourRectType" />
  115.                 <xsd:element name="ColourProperty" type="settingByPropertyType" />
  116.                 <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
  117.             </xsd:choice>
  118.             <xsd:choice  minOccurs="0" maxOccurs="1">
  119.                 <xsd:element name="VertFormat" type="vertFormatType" />
  120.                 <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
  121.             </xsd:choice>
  122.             <xsd:choice  minOccurs="0" maxOccurs="1">
  123.                 <xsd:element name="HorzFormat" type="horzFormatType" />
  124.                 <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
  125.             </xsd:choice>
  126. </xsd:sequence>
  127. </xsd:complexType>
  128. <xsd:complexType name="widgetComponentType">
  129. <xsd:sequence>
  130. <xsd:element name="Area" type="componentAreaType" />
  131. <xsd:element name="VertAlignment" type="vertAlignmentType" minOccurs="0" maxOccurs="1" />
  132. <xsd:element name="HorzAlignment" type="horzAlignmentType" minOccurs="0" maxOccurs="1" />
  133. <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" />
  134. </xsd:sequence>
  135. <xsd:attribute name="type" type="xsd:string" use="required" />
  136. <xsd:attribute name="nameSuffix" type="xsd:string" use="required" />
  137. <xsd:attribute name="look" type="xsd:string" use="optional" default="" />
  138. </xsd:complexType>
  139. <xsd:complexType name="horzFormatType">
  140. <xsd:attribute name="type" type="horzFormatEnum" use="required" />
  141. </xsd:complexType>
  142. <xsd:complexType name="vertFormatType">
  143. <xsd:attribute name="type" type="vertFormatEnum" use="required" />
  144. </xsd:complexType>
  145.         <xsd:complexType name="horzTextFormatType">
  146. <xsd:attribute name="type" type="horzTextFormatEnum" use="required" />
  147. </xsd:complexType>
  148. <xsd:complexType name="vertTextFormatType">
  149. <xsd:attribute name="type" type="vertTextFormatEnum" use="required" />
  150. </xsd:complexType>
  151. <xsd:complexType name="horzAlignmentType">
  152. <xsd:attribute name="type" type="horzAlignmentEnum" use="required" />
  153. </xsd:complexType>
  154. <xsd:complexType name="vertAlignmentType">
  155. <xsd:attribute name="type" type="vertAlignmentEnum" use="required" />
  156. </xsd:complexType>
  157. <xsd:complexType name="propertyType">
  158. <xsd:attribute name="name" type="xsd:string" use="required" />
  159. <xsd:attribute name="value" type="xsd:string" use="required" />
  160. </xsd:complexType>
  161. <xsd:complexType name="imageType">
  162. <xsd:attribute name="imageset" type="xsd:string" use="required" />
  163. <xsd:attribute name="image" type="xsd:string" use="required" />
  164. </xsd:complexType>
  165.     <xsd:complexType name="frameImageType">
  166.         <xsd:attribute name="type" type="frameImageComponentEnum" use="required" />
  167.         <xsd:attribute name="imageset" type="xsd:string" use="required" />
  168.         <xsd:attribute name="image" type="xsd:string" use="required" />
  169.     </xsd:complexType>
  170. <xsd:complexType name="componentAreaType">
  171.         <xsd:choice>
  172.             <xsd:sequence>
  173.                 <xsd:element name="Dim" type="dimensionType" minOccurs="4" maxOccurs="4" />
  174.             </xsd:sequence>
  175.             <xsd:element name="AreaProperty" type="settingByPropertyType" />
  176.         </xsd:choice>
  177. </xsd:complexType>
  178. <xsd:complexType name="dimensionType">
  179. <xsd:choice>
  180. <xsd:element name="UnifiedDim" type="unifiedDimType" />
  181. <xsd:element name="AbsoluteDim" type="absoluteDimType" />
  182. <xsd:element name="ImageDim" type="imageDimType" />
  183.             <xsd:element name="WidgetDim" type="widgetDimType" />
  184.             <xsd:element name="FontDim" type="fontDimType" />
  185.             <xsd:element name="PropertyDim" type="propertyDimType" />
  186. </xsd:choice>
  187. <xsd:attribute name="type" type="dimensionTypeEnum" use="required" />
  188. </xsd:complexType>
  189.     <xsd:complexType name="fontDimType">
  190.         <xsd:sequence>
  191.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  192.         </xsd:sequence>
  193.         <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
  194.         <xsd:attribute name="font" type="xsd:string" use="optional" default="" />
  195.         <xsd:attribute name="string" type="xsd:string" use="optional" default="" />
  196.         <xsd:attribute name="type" type="fontMetricTypeEnum" use="required" />
  197.         <xsd:attribute name="padding" type="xsd:decimal" use="optional" default="0" />
  198.     </xsd:complexType>
  199.     <xsd:complexType name="propertyDimType">
  200.         <xsd:sequence>
  201.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  202.         </xsd:sequence>
  203.         <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
  204.         <xsd:attribute name="name" type="xsd:string" use="required" />
  205.     </xsd:complexType>
  206. <xsd:complexType name="unifiedDimType">
  207.         <xsd:sequence>
  208.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  209.         </xsd:sequence>
  210. <xsd:attribute name="scale" type="xsd:decimal" use="optional" default="0" />
  211. <xsd:attribute name="offset" type="xsd:integer" use="optional" default="0" />
  212. <xsd:attribute name="type" type="dimensionTypeEnum" use="required" />
  213. </xsd:complexType>
  214. <xsd:complexType name="absoluteDimType">
  215.         <xsd:sequence>
  216.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  217.         </xsd:sequence>
  218. <xsd:attribute name="value" type="xsd:decimal" use="optional" default="0" />
  219. </xsd:complexType>
  220. <xsd:complexType name="imageDimType">
  221.         <xsd:sequence>
  222.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  223.         </xsd:sequence>
  224. <xsd:attribute name="imageset" type="xsd:string" use="required" />
  225. <xsd:attribute name="image" type="xsd:string" use="required" />
  226. <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
  227. </xsd:complexType>
  228. <xsd:complexType name="widgetDimType">
  229.         <xsd:sequence>
  230.             <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
  231.         </xsd:sequence>
  232. <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
  233. <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
  234. </xsd:complexType>
  235.     <xsd:complexType name="settingByPropertyType">
  236.         <xsd:attribute name="name" type="xsd:string" use="required" />
  237.     </xsd:complexType>
  238. <xsd:complexType name="colourRectType">
  239. <xsd:attribute name="topLeft" type="colourValType" use="required" />
  240. <xsd:attribute name="topRight" type="colourValType" use="required" />
  241. <xsd:attribute name="bottomLeft" type="colourValType" use="required" />
  242. <xsd:attribute name="bottomRight" type="colourValType" use="required" />
  243. </xsd:complexType>
  244. <xsd:simpleType name="colourValType">
  245. <xsd:restriction base="xsd:string">
  246. <xsd:pattern value="[a-fA-F0-9]{8}" />
  247. </xsd:restriction>
  248. </xsd:simpleType>
  249.     <xsd:complexType name="textStringType">
  250.         <xsd:attribute name="string" type="xsd:string" use="optional" default="" />
  251.         <xsd:attribute name="font" type="xsd:string" use="optional" default="" />
  252.     </xsd:complexType>
  253.     <xsd:complexType name="dimensionOperatorType">
  254.         <xsd:choice>
  255.             <xsd:element name="UnifiedDim" type="unifiedDimType" />
  256.             <xsd:element name="AbsoluteDim" type="absoluteDimType" />
  257.             <xsd:element name="ImageDim" type="imageDimType" />
  258.             <xsd:element name="WidgetDim" type="widgetDimType" />
  259.             <xsd:element name="FontDim" type="fontDimType" />
  260.             <xsd:element name="PropertyDim" type="propertyDimType" />
  261.         </xsd:choice>
  262.         <xsd:attribute name="op" type="dimensionOperatorEnum" use="required" />
  263.     </xsd:complexType>
  264. <xsd:simpleType name="dimensionTypeEnum">
  265. <xsd:restriction base="xsd:string">
  266. <xsd:enumeration value="LeftEdge" />
  267. <xsd:enumeration value="TopEdge" />
  268. <xsd:enumeration value="RightEdge" />
  269. <xsd:enumeration value="BottomEdge" />
  270. <xsd:enumeration value="XPosition" />
  271. <xsd:enumeration value="YPosition" />
  272. <xsd:enumeration value="Width" />
  273. <xsd:enumeration value="Height" />
  274. <xsd:enumeration value="XOffset" />
  275. <xsd:enumeration value="YOffset" />
  276. </xsd:restriction>
  277. </xsd:simpleType>
  278. <xsd:simpleType name="vertFormatEnum">
  279. <xsd:restriction base="xsd:string">
  280. <xsd:enumeration value="TopAligned" />
  281. <xsd:enumeration value="CentreAligned" />
  282. <xsd:enumeration value="BottomAligned" />
  283. <xsd:enumeration value="Stretched" />
  284. <xsd:enumeration value="Tiled" />
  285. </xsd:restriction>
  286. </xsd:simpleType>
  287. <xsd:simpleType name="horzFormatEnum">
  288. <xsd:restriction base="xsd:string">
  289. <xsd:enumeration value="LeftAligned" />
  290. <xsd:enumeration value="CentreAligned" />
  291. <xsd:enumeration value="RightAligned" />
  292. <xsd:enumeration value="Stretched" />
  293. <xsd:enumeration value="Tiled" />
  294. </xsd:restriction>
  295. </xsd:simpleType>
  296. <xsd:simpleType name="vertAlignmentEnum">
  297. <xsd:restriction base="xsd:string">
  298. <xsd:enumeration value="TopAligned" />
  299. <xsd:enumeration value="CentreAligned" />
  300. <xsd:enumeration value="BottomAligned" />
  301. </xsd:restriction>
  302. </xsd:simpleType>
  303. <xsd:simpleType name="horzAlignmentEnum">
  304. <xsd:restriction base="xsd:string">
  305. <xsd:enumeration value="LeftAligned" />
  306. <xsd:enumeration value="CentreAligned" />
  307. <xsd:enumeration value="RightAligned" />
  308. </xsd:restriction>
  309. </xsd:simpleType>
  310.     <xsd:simpleType name="horzTextFormatEnum">
  311.         <xsd:restriction base="xsd:string">
  312.             <xsd:enumeration value="LeftAligned" />
  313.             <xsd:enumeration value="RightAligned" />
  314.             <xsd:enumeration value="CentreAligned" />
  315.             <xsd:enumeration value="Justified" />
  316.             <xsd:enumeration value="WordWrapLeftAligned" />
  317.             <xsd:enumeration value="WordWrapRightAligned" />
  318.             <xsd:enumeration value="WordWrapCentreAligned" />
  319.             <xsd:enumeration value="WordWrapJustified" />
  320.         </xsd:restriction>
  321.     </xsd:simpleType>
  322.     <xsd:simpleType name="vertTextFormatEnum">
  323.         <xsd:restriction base="xsd:string">
  324.             <xsd:enumeration value="TopAligned" />
  325.             <xsd:enumeration value="BottomAligned" />
  326.             <xsd:enumeration value="CentreAligned" />
  327.         </xsd:restriction>
  328.     </xsd:simpleType>
  329.     <xsd:simpleType name="propertyTypeEnum">
  330.         <xsd:restriction base="xsd:string">
  331.             <xsd:enumeration value="Generic" />
  332.         </xsd:restriction>
  333.     </xsd:simpleType>
  334.     <xsd:simpleType name="fontMetricTypeEnum">
  335.         <xsd:restriction base="xsd:string">
  336.             <xsd:enumeration value="LineSpacing" />
  337.             <xsd:enumeration value="Baseline" />
  338.             <xsd:enumeration value="HorzExtent" />
  339.         </xsd:restriction>
  340.     </xsd:simpleType>
  341.     <xsd:simpleType name="dimensionOperatorEnum">
  342.         <xsd:restriction base="xsd:string">
  343.             <xsd:enumeration value="Noop" />
  344.             <xsd:enumeration value="Add" />
  345.             <xsd:enumeration value="Subtract" />
  346.             <xsd:enumeration value="Multiply" />
  347.             <xsd:enumeration value="Divide" />
  348.         </xsd:restriction>
  349.     </xsd:simpleType>
  350.     <xsd:simpleType name="frameImageComponentEnum">
  351.         <xsd:restriction base="xsd:string">
  352.             <xsd:enumeration value="Background" />
  353.             <xsd:enumeration value="TopLeftCorner" />
  354.             <xsd:enumeration value="TopRightCorner" />
  355.             <xsd:enumeration value="BottomLeftCorner" />
  356.             <xsd:enumeration value="BottomRightCorner" />
  357.             <xsd:enumeration value="LeftEdge" />
  358.             <xsd:enumeration value="RightEdge" />
  359.             <xsd:enumeration value="TopEdge" />
  360.             <xsd:enumeration value="BottomEdge" />
  361.         </xsd:restriction>
  362.     </xsd:simpleType>
  363. </xsd:schema>