b68dd2e189
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
225 lines
8.5 KiB
XML
225 lines
8.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:element name="class">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element type="xs:string" name="brief_description" />
|
|
<xs:element type="xs:string" name="description" />
|
|
<xs:element name="tutorials">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="link" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute type="xs:string" name="title" use="optional" />
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="constructors" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="constructor" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="return" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="argument" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:byte" name="index" />
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
<xs:attribute type="xs:string" name="default" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element type="xs:string" name="description" />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="name" use="optional" />
|
|
<xs:attribute type="xs:string" name="qualifiers" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="methods" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="method" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="return" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="returns_error" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:byte" name="number" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="argument" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:byte" name="index" />
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
<xs:attribute type="xs:string" name="default" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element type="xs:string" name="description" />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="name" use="optional" />
|
|
<xs:attribute type="xs:string" name="qualifiers" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="members" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
<xs:element name="member">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="setter" />
|
|
<xs:attribute type="xs:string" name="getter" />
|
|
<xs:attribute type="xs:string" name="overrides" use="optional" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
<xs:attribute type="xs:string" name="default" use="optional" />
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="signals" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="signal" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="argument" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:byte" name="index" />
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element type="xs:string" name="description" />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="name" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="constants" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="constant" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="value" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="theme_items" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="theme_item" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="data_type" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="default" use="optional" />
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="operators" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="operator" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="return" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="argument" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:sequence />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:byte" name="index" />
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="type" />
|
|
<xs:attribute type="xs:string" name="enum" use="optional" />
|
|
<xs:attribute type="xs:string" name="default" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element type="xs:string" name="description" />
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="name" use="optional" />
|
|
<xs:attribute type="xs:string" name="qualifiers" use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="inherits" />
|
|
<xs:attribute type="xs:float" name="version" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema>
|