Base.xsd 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="uri:ea.com:eala:asset" xmlns:at="uri:ea.com:eala:asset:type" xmlns:xas="uri:ea.com:eala:asset:schema" targetNamespace="uri:ea.com:eala:asset" elementFormDefault="qualified" xmlns:XmlEdit="uri:ea.com:eala:XmlEdit">
  3. <xs:complexType name="RGBColor">
  4. <xs:annotation>
  5. <xs:documentation>floating point RGB data</xs:documentation>
  6. </xs:annotation>
  7. <xs:attribute name="R"
  8. type="xs:float"
  9. use="required" />
  10. <xs:attribute name="G"
  11. type="xs:float"
  12. use="required" />
  13. <xs:attribute name="B"
  14. type="xs:float"
  15. use="required" />
  16. </xs:complexType>
  17. <xs:complexType name="RGBAColor">
  18. <xs:annotation>
  19. <xs:documentation>floating point RGBA data</xs:documentation>
  20. </xs:annotation>
  21. <xs:attribute name="R"
  22. type="xs:float"
  23. use="required" />
  24. <xs:attribute name="G"
  25. type="xs:float"
  26. use="required" />
  27. <xs:attribute name="B"
  28. type="xs:float"
  29. use="required" />
  30. <xs:attribute name="A"
  31. type="xs:float"
  32. use="required" />
  33. </xs:complexType>
  34. <xs:complexType name="Color3f">
  35. <xs:sequence></xs:sequence>
  36. <xs:attribute name="r" type="SageReal" />
  37. <xs:attribute name="g" type="SageReal" />
  38. <xs:attribute name="b" type="SageReal" />
  39. </xs:complexType>
  40. <xs:complexType name="Color4f">
  41. <xs:sequence></xs:sequence>
  42. <xs:attribute name="r" type="SageReal" />
  43. <xs:attribute name="g" type="SageReal" />
  44. <xs:attribute name="b" type="SageReal" />
  45. <xs:attribute name="a" type="SageReal" />
  46. </xs:complexType>
  47. <xs:simpleType name="AssetId">
  48. <xs:restriction base="xs:string"/>
  49. </xs:simpleType>
  50. <xs:simpleType name="AssetIdList">
  51. <xs:list itemType="AssetId" />
  52. </xs:simpleType>
  53. <xs:simpleType name="SageUnsignedShort">
  54. <xs:restriction base="xs:string" >
  55. <xs:pattern value="(\d{1,5})|(0x[0-9a-fA-F]{1,4})|(=[_a-zA-Z]+)" />
  56. </xs:restriction>
  57. </xs:simpleType>
  58. <xs:simpleType name="SageReal">
  59. <xs:restriction base="xs:string" >
  60. <xs:pattern value="((\+|\-)?((\.\d{1,16})|(\d{1,16}(\.\d{0,16})?))([eE](\+|\-)?\d{1,3})?)|(=[_a-zA-Z]+)"/>
  61. </xs:restriction>
  62. </xs:simpleType>
  63. <xs:simpleType name="SageInt">
  64. <xs:restriction base="xs:string" >
  65. <xs:pattern value="((\+|\-)?\d{1,10})|((0x)[A-Fa-f0-9]{8,8})|(=[_a-zA-Z]+)" />
  66. </xs:restriction>
  67. </xs:simpleType>
  68. <xs:simpleType name="SageIntList" >
  69. <xs:list itemType="SageInt" />
  70. </xs:simpleType>
  71. <xs:simpleType name="UnsignedShortList">
  72. <xs:list itemType="xs:unsignedShort" />
  73. </xs:simpleType>
  74. <xs:simpleType name="FloatList">
  75. <xs:list itemType="xs:float" />
  76. </xs:simpleType>
  77. <xs:simpleType name="UnsignedByteList">
  78. <xs:list itemType="xs:unsignedByte" />
  79. </xs:simpleType>
  80. <xs:simpleType name="SageBool">
  81. <xs:restriction base="xs:string" >
  82. <xs:pattern value="([Ff]alse)|([Tt]rue)|0|1" />
  83. </xs:restriction>
  84. </xs:simpleType>
  85. <xs:simpleType name="SageUnsignedInt">
  86. <xs:restriction base="xs:string" >
  87. <xs:pattern value="(\d{1,10})|(0x[0-9a-zA-Z]{1,8})|(0\.0)|(=[_a-zA-Z]+)" />
  88. </xs:restriction>
  89. </xs:simpleType>
  90. <xs:simpleType name="SageUnsignedIntList">
  91. <xs:list itemType="SageUnsignedInt" />
  92. </xs:simpleType>
  93. <xs:simpleType name="SageDurationUnsignedInt">
  94. <xs:restriction base="xs:string" />
  95. </xs:simpleType>
  96. <xs:simpleType name="Angle">
  97. <xs:restriction base="xs:string" xas:tag="AngleTag">
  98. <xs:pattern value="(((\+|\-)?((\.\d{1,16})|(\d{1,16}(\.\d{0,16})?))([eE](\+|\-)?\d{1,3})?)|(=[_a-zA-Z]+))(r|d)"/>
  99. </xs:restriction>
  100. </xs:simpleType>
  101. <xs:simpleType name="Percentage">
  102. <xs:restriction base="xs:string" xas:tag="PercentageTag">
  103. <xs:pattern value="((\+|\-)?((\.\d{1,16})|(\d{1,16}(\.\d{0,16})?))([%])?)|(=[_a-zA-Z]+)"/>
  104. </xs:restriction>
  105. </xs:simpleType>
  106. <xs:simpleType name="PercentageList">
  107. <xs:list itemType="Percentage"/>
  108. </xs:simpleType>
  109. <xs:simpleType name="Time">
  110. <xs:restriction base="xs:string" xas:tag="TimeTag">
  111. <xs:pattern value="(((\+|\-)?((\.\d{1,16})|(\d{1,16}(\.\d{0,16})?))([eE](\+|\-)?\d{1,3})?)|(=[_a-zA-Z]+))(s|ms)"/>
  112. </xs:restriction>
  113. </xs:simpleType>
  114. <xs:simpleType name="PositiveNonZeroReal">
  115. <xs:restriction base="SageReal" xas:tag="PositiveNonZeroRealTag" />
  116. </xs:simpleType>
  117. <xs:simpleType name="DurationUnsignedInt">
  118. <xs:restriction base="SageDurationUnsignedInt" xas:tag="DurationTag" />
  119. </xs:simpleType>
  120. <xs:simpleType name="Velocity">
  121. <xs:restriction base="SageReal" xas:tag="VelocityTag" />
  122. </xs:simpleType>
  123. <xs:complexType name="TimeRange">
  124. <xs:attribute name="Low" type="Time" use="required"/>
  125. <xs:attribute name="High" type="Time" use="required"/>
  126. </xs:complexType>
  127. <xs:complexType name="RealRange">
  128. <xs:attribute name="Low" type="SageReal" use="required"/>
  129. <xs:attribute name="High" type="SageReal" use="required"/>
  130. </xs:complexType>
  131. <xs:complexType name="IntRange">
  132. <xs:attribute name="Low" type="SageInt" use="required"/>
  133. <xs:attribute name="High" type="SageInt" use="required"/>
  134. </xs:complexType>
  135. <xs:complexType name="ICoord2D">
  136. <xs:sequence></xs:sequence>
  137. <xs:attribute name="x" type="SageInt" default="0" />
  138. <xs:attribute name="y" type="SageInt" default="0" />
  139. </xs:complexType>
  140. <xs:complexType name="Vector2" xas:tag="VectorHack">
  141. <xs:sequence></xs:sequence>
  142. <xs:attribute name="x" type="SageReal" default="0.0" />
  143. <xs:attribute name="y" type="SageReal" default="0.0" />
  144. </xs:complexType>
  145. <xs:complexType name="Vector3" xas:tag="VectorHack">
  146. <xs:sequence></xs:sequence>
  147. <xs:attribute name="x" type="SageReal" default="0.0" />
  148. <xs:attribute name="y" type="SageReal" default="0.0" />
  149. <xs:attribute name="z" type="SageReal" default="0.0" />
  150. </xs:complexType>
  151. <xs:complexType name="Vector4" xas:tag="VectorHack">
  152. <xs:sequence></xs:sequence>
  153. <xs:attribute name="x" type="SageReal" default="0.0" />
  154. <xs:attribute name="y" type="SageReal" default="0.0" />
  155. <xs:attribute name="z" type="SageReal" default="0.0" />
  156. <xs:attribute name="w" type="SageReal" default="0.0" />
  157. </xs:complexType>
  158. <xs:complexType name="Quaternion" xas:tag="VectorHack">
  159. <xs:sequence></xs:sequence>
  160. <xs:attribute name="x" type="SageReal" default="0.0" />
  161. <xs:attribute name="y" type="SageReal" default="0.0" />
  162. <xs:attribute name="z" type="SageReal" default="0.0" />
  163. <xs:attribute name="w" type="SageReal" default="0.0" />
  164. </xs:complexType>
  165. <xs:complexType name="Color3" xas:byValue="true" xas:tag="ColorTag">
  166. <xs:sequence></xs:sequence>
  167. <xs:attribute name="R" type="xs:unsignedByte" />
  168. <xs:attribute name="G" type="xs:unsignedByte" />
  169. <xs:attribute name="B" type="xs:unsignedByte" />
  170. </xs:complexType>
  171. <xs:complexType name="Color4" xas:byValue="true" xas:tag="ColorTag">
  172. <xs:sequence></xs:sequence>
  173. <xs:attribute name="R" type="xs:unsignedByte" />
  174. <xs:attribute name="G" type="xs:unsignedByte" />
  175. <xs:attribute name="B" type="xs:unsignedByte" />
  176. <xs:attribute name="A" type="xs:unsignedByte" />
  177. </xs:complexType>
  178. <xs:simpleType name="DistributionType">
  179. <xs:restriction base="xs:string">
  180. <xs:enumeration value="CONSTANT" />
  181. <xs:enumeration value="UNIFORM" />
  182. <xs:enumeration value="GAUSSIAN" />
  183. <xs:enumeration value="TRIANGULAR" />
  184. <xs:enumeration value="LOW_BIAS" />
  185. <xs:enumeration value="HIGH_BIAS" />
  186. </xs:restriction>
  187. </xs:simpleType>
  188. <xs:complexType name="RandomVariable">
  189. <xs:sequence></xs:sequence>
  190. <xs:attribute name="Type" type="DistributionType" default="UNIFORM" />
  191. <xs:attribute name="Low" type="SageReal" />
  192. <xs:attribute name="High" type="SageReal" />
  193. </xs:complexType>
  194. <xs:complexType name="LogicRandomVariable">
  195. <xs:annotation>
  196. <xs:appinfo source="../GameData.xsd">
  197. <GameData xmlns="uri:ea.com:eala:asset:gamedata">
  198. <Function name="GetValue"
  199. return="float_t" />
  200. </GameData>
  201. </xs:appinfo>
  202. </xs:annotation>
  203. <xs:complexContent>
  204. <xs:extension base="RandomVariable">
  205. </xs:extension>
  206. </xs:complexContent>
  207. </xs:complexType>
  208. <xs:complexType name="ClientRandomVariable">
  209. <xs:annotation>
  210. <xs:appinfo source="../GameData.xsd">
  211. <GameData xmlns="uri:ea.com:eala:asset:gamedata">
  212. <Function name="GetValue"
  213. return="float_t" />
  214. </GameData>
  215. </xs:appinfo>
  216. </xs:annotation>
  217. <xs:complexContent>
  218. <xs:extension base="RandomVariable">
  219. </xs:extension>
  220. </xs:complexContent>
  221. </xs:complexType>
  222. <xs:simpleType name="Script">
  223. <xs:restriction base="xs:string" />
  224. </xs:simpleType>
  225. <xs:simpleType name="WideString">
  226. <xs:restriction base="xs:string" />
  227. </xs:simpleType>
  228. <xs:simpleType name="StringList">
  229. <xs:list itemType="xs:token" />
  230. </xs:simpleType>
  231. <xs:simpleType name="StickyString">
  232. <xs:restriction base="xs:string" xas:tag="StickyStringTag" />
  233. </xs:simpleType>
  234. <xs:complexType name="ReplaceTexture">
  235. <xs:sequence></xs:sequence>
  236. <xs:attribute name="Original" type="TextureRef" />
  237. <xs:attribute name="New" type="TextureRef" />
  238. </xs:complexType>
  239. <!-- This is the type of Object-level voices (e.g. VoiceAttack). It is normally a sound reference, but
  240. it can also be a Eva event reference, or both, because some units (especially those that can't
  241. talk) use Eva events in place of a few voice responses. -->
  242. <xs:complexType name="SoundOrEvaEvent" >
  243. <xs:sequence></xs:sequence>
  244. <xs:attribute name="Sound" type="AudioEventInfoRef" use="optional" />
  245. <xs:attribute name="EvaEvent" type="EvaEventRef" default="" />
  246. </xs:complexType>
  247. <xs:simpleType name="EmotionNuggetTemplate">
  248. <xs:restriction base="xs:string" />
  249. </xs:simpleType>
  250. <xs:simpleType name="StringHash">
  251. <xs:restriction base="xs:string" xas:tag="StringHashTag" />
  252. </xs:simpleType>
  253. <xs:simpleType name="FontFamily">
  254. <xs:restriction base="xs:string" />
  255. </xs:simpleType>
  256. <xs:simpleType name="LargeGroupAudioKeyList">
  257. <xs:restriction base="xs:string" />
  258. </xs:simpleType>
  259. <xs:complexType name="MoneyTransaction">
  260. <xs:attribute name="Account"
  261. type="SageUnsignedInt"
  262. use="required" />
  263. <xs:attribute name="Amount"
  264. type="SageUnsignedInt"
  265. use="required" />
  266. </xs:complexType>
  267. <xs:simpleType name="ComparisonOperator">
  268. <xs:restriction base="xs:string">
  269. <xs:enumeration value="LESS_THAN" />
  270. <xs:enumeration value="LESS_THAN_OR_EQUAL" />
  271. <xs:enumeration value="EQUAL" />
  272. <xs:enumeration value="GREATER_THAN_OR_EQUAL" />
  273. <xs:enumeration value="GREATER_THAN" />
  274. </xs:restriction>
  275. </xs:simpleType>
  276. <!-- Dynamic Game State changes -->
  277. <xs:simpleType name="StateChangeType">
  278. <xs:restriction base="xs:string">
  279. <xs:enumeration value="ENTER" />
  280. <xs:enumeration value="EXIT" />
  281. </xs:restriction>
  282. </xs:simpleType>
  283. </xs:schema>