FreeCAD / src /Tools /bindings /model /generateMetaModel_Module.xsd
AbdulElahGwaith's picture
Upload folder using huggingface_hub
985c397 verified
<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2006 rel. 3 U bearbeitet (http://www.altova.com) von juergen Riegel (DCX) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="GenerateModel">
<xs:complexType>
<xs:sequence>
<xs:element ref="Module" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PythonExport" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation" minOccurs="0"/>
<xs:element name="Methode" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation"/>
<xs:element ref="Parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Const" type="xs:boolean" use="optional"/>
<xs:attribute name="Keyword" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="NoArgs" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Class" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Static" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="Attribute" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation"/>
<xs:element ref="Parameter"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="ReadOnly" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Sequence" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="sq_length" type="xs:boolean" use="required"/>
<xs:attribute name="sq_concat" type="xs:boolean" use="required"/>
<xs:attribute name="sq_repeat" type="xs:boolean" use="required"/>
<xs:attribute name="sq_item" type="xs:boolean" use="required"/>
<xs:attribute name="mp_subscript" type="xs:boolean" use="required"/>
<xs:attribute name="sq_ass_item" type="xs:boolean" use="required"/>
<xs:attribute name="mp_ass_subscript" type="xs:boolean" use="required"/>
<xs:attribute name="sq_contains" type="xs:boolean" use="required"/>
<xs:attribute name="sq_inplace_concat" type="xs:boolean" use="required"/>
<xs:attribute name="sq_inplace_repeat" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="CustomAttributes" minOccurs="0"/>
<xs:element name="ClassDeclarations" type="xs:string"/>
<xs:element name="ForwardDeclarations" type="xs:string"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="PythonName" type="xs:string" use="optional"/>
<xs:attribute name="Include" type="xs:string" use="required"/>
<xs:attribute name="Father" type="xs:string" use="required"/>
<xs:attribute name="Twin" type="xs:string" use="required"/>
<xs:attribute name="Namespace" type="xs:string" use="required"/>
<xs:attribute name="FatherInclude" type="xs:string" use="required"/>
<xs:attribute name="FatherNamespace" type="xs:string" use="required"/>
<xs:attribute name="Constructor" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="NumberProtocol" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="RichCompare" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="TwinPointer" type="xs:string" use="required"/>
<xs:attribute name="Delete" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Reference" type="xs:boolean" use="optional"/>
<xs:attribute name="Initialization" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DisableNotify" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DescriptorGetter" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DescriptorSetter" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Module">
<xs:annotation>
<xs:documentation>This is the module root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation" minOccurs="0"/>
<xs:element name="Dependencies" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Module" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Content">
<xs:annotation>
<xs:documentation>This element holds the content of the module</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Property" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Feature" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Represent a Feature in the module</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation" minOccurs="0">
<xs:annotation>
<xs:documentation>Documentation of this object</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ViewProvider" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="DocObject" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Represents a Document Object in the module</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation" minOccurs="0"/>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="GuiCommand" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Creates a GuiCommand in this module</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PreferencesPage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Property">
<xs:annotation>
<xs:documentation>Defines a class property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Documentation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Type" type="xs:string" use="required"/>
<xs:attribute name="StartValue" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Documentation">
<xs:complexType>
<xs:sequence>
<xs:element name="Author" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="EMail" type="xs:string" use="required"/>
<xs:attribute name="Licence" type="xs:string" use="optional" default="LGPL"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="DeveloperDocu" type="xs:string" minOccurs="0"/>
<xs:element name="UserDocu" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ViewProvider">
<xs:annotation>
<xs:documentation>Defines a ViewProvider for an Object</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Parameter">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Int"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="String"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Complex"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Tuple"/>
<xs:enumeration value="List"/>
<xs:enumeration value="Dict"/>
<xs:enumeration value="Module"/>
<xs:enumeration value="Callable"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>