XML Schema Documentation

Table of Contents

top

Schema Document Properties

Target Namespace http://gtan.azurewebsites.net/schema/resource
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.

Declared Namespaces

Prefix Namespace
Default namespace http://gtan.azurewebsites.net/schema/resource
xs http://www.w3.org/2001/XMLSchema
xhtml http://www.w3.org/1999/xhtml
xml http://www.w3.org/XML/1998/namespace
Schema Component Representation
<xs:schema targetNamespace="http://gtan.azurewebsites.net/schema/resource" elementFormDefault="qualified">
...
</xs:schema>
top

Global Declarations

Element: acl

Name acl
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specify an ACL which is linked to this resource. Might be used to define additional rights which come with this resource or to overwrite a server's ACL.
This element can only be used once for each resource.
XML Instance Representation
<acl
src=" xs:anyURI [1]"/>
Schema Component Representation
<xs:element name="acl">
<xs:complexType>
<xs:attribute name="src" type=" xs:anyURI " use="required"/>
</xs:complexType>
</xs:element>
top

Element: assembly

Name assembly
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Declares a .NET reference used for your scripts.
XML Instance Representation
<assembly
ref=" xs:anyURI [1]"/>
Schema Component Representation
<xs:element name="assembly">
<xs:complexType>
<xs:attribute name="ref" type=" xs:anyURI " use="required"/>
</xs:complexType>
</xs:element>
top

Element: config

Name config
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specifies a custom XML config file to be loaded by a resource with "API.loadConfig(...)".
XML Instance Representation
<config
src=" xs:anyURI [1]"
type=" scriptType [1]"/>
Schema Component Representation
<xs:element name="config">
<xs:complexType>
<xs:attribute name="src" type=" xs:anyURI " use="required"/>
<xs:attribute name="type" type=" scriptType " use="required"/>
</xs:complexType>
</xs:element>
top

Element: export

Name export
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specify functions and events exported by this resource. These can be used in other resources. You can only export methods located inside classes that inherit from "Script".
Each export element should either have a function or a event attribute.
XML Instance Representation
<export
class=" validIdentifier [0..1]"
function=" validIdentifier [0..1]"
event=" validIdentifier [0..1]"/>
Schema Component Representation
<xs:element name="export">
<xs:complexType>
<xs:attribute name="class" type=" validIdentifier "/>
<xs:attribute name="function" type=" validIdentifier "/>
<xs:attribute name="event" type=" validIdentifier "/>
</xs:complexType>
</xs:element>
top

Element: file

Name file
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specify a file that must be downloaded by the clients.
XML Instance Representation
<file
src=" xs:anyURI [1]"/>
Schema Component Representation
<xs:element name="file">
<xs:complexType>
<xs:attribute name="src" type=" xs:anyURI " use="required"/>
</xs:complexType>
</xs:element>
top

Element: include

Name include
Type Locally-defined complex type
Nillable no
Abstract no
Documentation List of resources that this resource depends on, and must be started before this one.
XML Instance Representation
<include
resource=" resourceListType [1]"/>
Schema Component Representation
<xs:element name="include">
<xs:complexType>
<xs:attribute name="resource" type=" resourceListType " use="required"/>
</xs:complexType>
</xs:element>
top

Element: info

Name info
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Provide optional information about this resource. All attributes are optional.
async specifies whether the resource should be limited to a single thread or if it is supposed to run asynchronously.
shadowcopy specifies whether compiled DLL's should be loaded directly from the filesystem or copied first. Set this to true to be able to update DLL files while debugging resources. NOTE: When using shadowcopy, the system may fail to load dependant DLL's, as it no longer knows the original directory of the loaded assembly.
This element can only be used once for each resource.
XML Instance Representation
<info
name=" xs:string [0..1]"
description=" xs:string [0..1]"
author=" xs:string [0..1]"
version=" versionNumberType [0..1]"
type=" resourceType [0..1]"
gamemodes=" resourceListType [0..1]"
async=" xs:boolean [0..1]"
shadowcopy=" xs:boolean [0..1]"/>
Schema Component Representation
<xs:element name="info">
<xs:complexType>
<xs:attribute name="name" type=" xs:string "/>
<xs:attribute name="description" type=" xs:string "/>
<xs:attribute name="author" type=" xs:string "/>
<xs:attribute name="version" type=" versionNumberType "/>
<xs:attribute name="type" type=" resourceType "/>
<xs:attribute name="gamemodes" type=" resourceListType "/>
<xs:attribute name="async" type=" xs:boolean "/>
<xs:attribute name="shadowcopy" type=" xs:boolean "/>
</xs:complexType>
</xs:element>
top

Element: map

Name map
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specify a .map file used by this resource. It can have an attribute to specify the dimension where the map will be loaded in.
XML Instance Representation
<map
src=" xs:anyURI [1]"
dimension=" xs:nonNegativeInteger [0..1]"/>
Schema Component Representation
<xs:element name="map">
<xs:complexType>
<xs:attribute name="src" type=" xs:anyURI " use="required"/>
<xs:attribute name="dimension" type=" xs:nonNegativeInteger "/>
</xs:complexType>
</xs:element>
top

Element: meta

Name meta
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specifies meta data which is needed for a GTAN resource.
This is the root element.
XML Instance Representation
<meta>
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [0..1]
Start Choice [1]
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
End Choice
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
End Choice
End Choice
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
</meta>
Schema Component Representation
<xs:element name="meta">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:choice minOccurs="0">
<xs:group ref=" uniqueMetaElements "/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
top

Element: script

Name script
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Add a script file to this resource which will be run. Each script must have a type attribute and a src.
XML Instance Representation
<script
src=" xs:anyURI [1]"
type=" scriptType [1]"
lang=" scriptLangType [0..1]"/>
Schema Component Representation
<xs:element name="script">
<xs:complexType>
<xs:attribute name="src" type=" xs:anyURI " use="required"/>
<xs:attribute name="type" type=" scriptType " use="required"/>
<xs:attribute name="lang" type=" scriptLangType "/>
</xs:complexType>
</xs:element>
top

Element: setting

Name setting
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Defines a setting which must have a name attribute as an identifier. Default value will be used if the value is invalid or cannot be found.
XML Instance Representation
<setting
name=" xs:string [1]"
value=" xs:string [0..1]"
default=" xs:string [0..1]"
description=" xs:string [0..1]"/>
Schema Component Representation
<xs:element name="setting">
<xs:complexType>
<xs:attribute name="name" type=" xs:string " use="required"/>
<xs:attribute name="value" type=" xs:string "/>
<xs:attribute name="default" type=" xs:string "/>
<xs:attribute name="description" type=" xs:string "/>
</xs:complexType>
</xs:element>
top

Element: settings

Name settings
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specify settings related to this resource. Either define the settings inside this element or link an external file through the src attribute.
This element can only be used once for each resource.
XML Instance Representation
<settings
src=" xs:anyURI [0..1]">
Start Sequence [1..*]
<setting> ... </setting> [1]
End Sequence
</settings>
Schema Component Representation
<xs:element name="settings">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref=" setting "/>
</xs:sequence>
<xs:attribute name="src" type=" xs:anyURI "/>
</xs:complexType>
</xs:element>
top

Global Definitions

Model Group: metaElements

Name metaElements
Documentation Group of elements which might be used multiple times in a resource.
XML Instance Representation
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
Schema Component Representation
<xs:group name="metaElements">
<xs:choice>
<xs:element ref=" script "/>
<xs:element ref=" file "/>
<xs:element ref=" assembly "/>
<xs:element ref=" include "/>
<xs:element ref=" map "/>
<xs:element ref=" export "/>
<xs:element ref=" config "/>
</xs:choice>
</xs:group>
top

Model Group: uniqueMetaElements

Name uniqueMetaElements
Documentation Group which covers all possible orders of unique elements combined with optional elements. Therefore, elements can be used in any given order but their usage amount can be limited.
XML Instance Representation
Start Choice [1]
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
End Choice
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
End Choice
Schema Component Representation
<xs:group name="uniqueMetaElements">
<xs:choice>
<xs:group ref=" uniqueMetaElements1_2 "/>
<xs:group ref=" uniqueMetaElements3_4 "/>
<xs:group ref=" uniqueMetaElements5_6 "/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
</xs:choice>
</xs:group>
top

Model Group: uniqueMetaElements1_2

Name uniqueMetaElements1_2
XML Instance Representation
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
End Choice
Schema Component Representation
<xs:group name="uniqueMetaElements1_2">
<xs:sequence>
<xs:element ref=" info " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:sequence>
<xs:element ref=" settings " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" acl " minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element ref=" acl " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" settings " minOccurs="0"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:group>
top

Model Group: uniqueMetaElements3_4

Name uniqueMetaElements3_4
XML Instance Representation
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<settings> ... </settings> [0..1]
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
Schema Component Representation
<xs:group name="uniqueMetaElements3_4">
<xs:sequence>
<xs:element ref=" acl " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:sequence>
<xs:element ref=" info " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" settings " minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element ref=" settings " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" info " minOccurs="0"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:group>
top

Model Group: uniqueMetaElements5_6

Name uniqueMetaElements5_6
XML Instance Representation
<settings> ... </settings> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
Start Choice [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<acl> ... </acl> [0..1]
<acl> ... </acl> [1]
Start Choice [0..*]
Start Choice [1]
<script> ... </script> [1]
<file> ... </file> [1]
<assembly> ... </assembly> [1]
<include> ... </include> [1]
<map> ... </map> [1]
<export> ... </export> [1]
<config> ... </config> [1]
End Choice
End Choice
<info> ... </info> [0..1]
End Choice
Schema Component Representation
<xs:group name="uniqueMetaElements5_6">
<xs:sequence>
<xs:element ref=" settings " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:sequence>
<xs:element ref=" info " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" acl " minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element ref=" acl " minOccurs="1"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref=" metaElements "/>
</xs:choice>
<xs:element ref=" info " minOccurs="0"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:group>
top

Simple Type: resourceListType

Super-types: xs:string < resourceListType (by restriction)
Sub-types: None
Name resourceListType
Content
  • Base XSD Type: string
  • pattern = (([a-zA-Z0-9_])+(,([a-zA-Z0-9_])+)*)
Documentation Defines a comma delimited list of resource names.
Must start with a letter, number or an underscore. Then there might follow even more characters or a comma to separate the resources. Does not allow a separator for the last resource.
Schema Component Representation
<xs:simpleType name="resourceListType">
<-- comma separated list -->
<xs:restriction base=" xs:string ">
<xs:pattern value="(([a-zA-Z0-9_])+(,([a-zA-Z0-9_])+)*)"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: resourceType

Super-types: xs:string < resourceType (by restriction)
Sub-types: None
Name resourceType
Content
  • Base XSD Type: string
  • value comes from list: {'script'|'gamemode'|'map'}
Schema Component Representation
<xs:simpleType name="resourceType">
<xs:restriction base=" xs:string ">
<xs:enumeration value="script"/>
<xs:enumeration value="gamemode"/>
<xs:enumeration value="map"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: scriptLangType

Super-types: xs:string < scriptLangType (by restriction)
Sub-types: None
Name scriptLangType
Content
  • Base XSD Type: string
  • value comes from list: {'javascript'|'csharp'|'vbasic'|'compiled'}
Schema Component Representation
<xs:simpleType name="scriptLangType">
<xs:restriction base=" xs:string ">
<xs:enumeration value="javascript"/>
<xs:enumeration value="csharp"/>
<xs:enumeration value="vbasic"/>
<xs:enumeration value="compiled"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: scriptType

Super-types: xs:string < scriptType (by restriction)
Sub-types: None
Name scriptType
Content
  • Base XSD Type: string
  • value comes from list: {'client'|'server'}
Documentation Defines where a script while be executed (client/server).
Schema Component Representation
<xs:simpleType name="scriptType">
<xs:restriction base=" xs:string ">
<xs:enumeration value="client"/>
<xs:enumeration value="server"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: validIdentifier

Super-types: xs:string < validIdentifier (by restriction)
Sub-types: None
Name validIdentifier
Content
  • Base XSD Type: string
  • pattern = [a-zA-Z_@][a-zA-Z_0-9]*
Documentation Must start with a character, an underscore or "@" and must not contain special characters other than underscore.
Schema Component Representation
<xs:simpleType name="validIdentifier">
<xs:restriction base=" xs:string ">
<xs:pattern value="[a-zA-Z_@][a-zA-Z_0-9]*"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: versionNumberType

Super-types: xs:token < versionNumberType (by restriction)
Sub-types: None
Name versionNumberType
Content
  • Base XSD Type: token
  • pattern = [0-9]+(\.?[0-9]+)*
Documentation Version number which must contain atleast one number and might have an unlimited amount of numbers and points as separators allowing SemVer.
Schema Component Representation
<xs:simpleType name="versionNumberType">
<xs:restriction base=" xs:token ">
<xs:pattern value="[0-9]+(\.?[0-9]+)*"/>
</xs:restriction>
</xs:simpleType>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia" >
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice [1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1] ?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexType name="AusAddress">
<complexContent>
<extension base=" Address ">
<sequence>
<element name="state" type=" AusStates "/>
<element name="postcode">
<simpleType>
<restriction base=" string ">
<pattern value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute name="country" type=" string " fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top