b087538119
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.
155 lines
5.7 KiB
XML
155 lines
5.7 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="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:sequence>
|
|
<xs:attribute type="xs:string" name="name" />
|
|
<xs:attribute type="xs:string" name="inherits" />
|
|
<xs:attribute type="xs:string" name="category" />
|
|
<xs:attribute type="xs:float" name="version" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema>
|