freecol/schema/data/data-monarch.xsd

100 lines
3.6 KiB
XML

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>
Copyright (C) 2002-2016 The FreeCol Team
This file is part of FreeCol.
FreeCol is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
FreeCol is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeCol. If not, see http://www.gnu.org/licenses
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="../spec/spec-model.xsd" />
<xs:include schemaLocation="data-unit.xsd" />
<xs:element name="monarch">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- @compat 0.10.5 -->
<xs:element name="navalUnits">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="abstractUnit"></xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="landUnits">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="abstractUnit"></xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- end @compat -->
<xs:element name="expeditionaryForce" type="ForceType" />
<xs:element name="interventionForce" type="ForceType" />
<xs:element name="mercenaryForce" type="ForceType" />
</xs:choice>
<xs:attribute name="id" type="MonarchId" use="required"/>
<!-- @compat 0.10.x -->
<xs:attribute name="ID" type="MonarchId" use="optional"/>
<!-- end @compat -->
<xs:attribute name="player" type="PlayerId" use="required"/>
<!-- @compat 0.11.1 -->
<xs:attribute name="name" type="xs:string" use="optional"/>
<!-- end @compat 0.11.1 -->
<!-- @compat 0.11.2 -->
<xs:attribute name="nameKey" type="xs:string" use="optional"/>
<!-- end @compat 0.11.2 -->
<xs:attribute name="supportSea" type="xs:boolean"
use="optional" default="false"/>
<xs:attribute name="displeasure" type="xs:boolean"
use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="abstractUnit">
<xs:complexType>
<xs:attribute name="id" type="UnitTypeId" use="required"/>
<xs:attribute name="role" type="xs:string" use="required"/>
<xs:attribute name="number" type="xs:int" use="optional"
default="1"/>
</xs:complexType>
</xs:element>
<xs:complexType name="ForceType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="navalUnits">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="abstractUnit" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="landUnits">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="abstractUnit" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:schema>