config.xsd 2.11 KB
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="config" type="ConfigType" />
	<xs:complexType name="ConfigType">
		<xs:sequence>
			<xs:element name="base-log-dir" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:element name="servers">
				<xs:complexType>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:element name="server" type="ServerType" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element minOccurs="0" maxOccurs="unbounded" name="domain" type="DomainType" />
			<xs:element name="bind" type="BindType" minOccurs="0" maxOccurs="1" />
			<xs:element name="properties">
				<xs:complexType>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:element name="property" type="PropertyType" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="mode" type="xs:string" use="required" />
	</xs:complexType>
	<xs:complexType name="ServerType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="ip" type="xs:string" />
				<xs:attribute name="port" type="xs:int" default="2280" />
				<xs:attribute name="enabled" type="xs:boolean" default="true" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="DomainType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="id" type="xs:string" />
				<xs:attribute name="ip" type="xs:string" />
				<xs:attribute name="enabled" type="xs:boolean" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="BindType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="ip" type="xs:string" />
				<xs:attribute name="port" type="xs:string" default="2280" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="PropertyType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="name" type="xs:string" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>