1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00
cs2j/CS2JLibrary/NetFramework/schemas/ClassRepTemplate.xsd

211 lines
9.6 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:www.twigletsoftware.com:schemas:txtemplate:1:0"
xmlns="urn:www.twigletsoftware.com:schemas:txtemplate:1:0">
<xs:element name="Class" nillable="true" type="Class" />
<xs:complexType name="Class">
<xs:complexContent mixed="false">
<xs:extension base="Interface">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Constructors" type="ArrayOfConstructorRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Fields" type="ArrayOfFieldRepTemplate1" />
<xs:element minOccurs="0" maxOccurs="1" name="UnaryOps" type="ArrayOfMethodRepTemplate1" />
<xs:element minOccurs="0" maxOccurs="1" name="BinaryOps" type="ArrayOfMethodRepTemplate2" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Interface">
<xs:complexContent mixed="false">
<xs:extension base="TypeRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Methods" type="ArrayOfMethodRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Properties" type="ArrayOfPropRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Events" type="ArrayOfFieldRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Indexers" type="ArrayOfIndexerRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Iterable" type="IterableRepTemplate" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TypeRepTemplate" abstract="true">
<xs:complexContent mixed="false">
<xs:extension base="TranslationBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="TypeParams" type="ArrayOfString1" />
<xs:element minOccurs="0" maxOccurs="1" name="Uses" type="ArrayOfString2" />
<xs:element minOccurs="0" maxOccurs="1" name="Aliases" type="ArrayOfAliasRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Casts" type="ArrayOfCastRepTemplate" />
<xs:element minOccurs="0" maxOccurs="1" name="Inherits" type="ArrayOfString3" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TranslationBase" abstract="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Imports" type="ArrayOfString" />
<xs:element minOccurs="0" maxOccurs="1" name="Java" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Warning" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfString">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Import" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="IterableRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="TranslationBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="ElementType" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FieldRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="TranslationBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Type" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PropRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="FieldRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Get" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Set" type="xs:string" />
</xs:sequence>
<xs:attribute default="true" name="read" type="xs:boolean" />
<xs:attribute default="true" name="write" type="xs:boolean" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="IndexerRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="PropRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Params" type="ArrayOfParamRepTemplate" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ArrayOfParamRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Param" nillable="true" type="ParamRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ParamRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Type" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
</xs:sequence>
<xs:attribute default="false" name="byref" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="ConstructorRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="TranslationBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Params" type="ArrayOfParamRepTemplate" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MethodRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="ConstructorRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="TypeParams" type="ArrayOfString1" />
<xs:element minOccurs="0" maxOccurs="1" name="Return" type="xs:string" />
</xs:sequence>
<xs:attribute default="false" name="static" type="xs:boolean" />
<xs:attribute default="false" name="partial" type="xs:boolean" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ArrayOfString1">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Name" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CastRepTemplate">
<xs:complexContent mixed="false">
<xs:extension base="TranslationBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="From" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="To" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ArrayOfString2">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Use" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfAliasRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Alias" nillable="true" type="AliasRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AliasRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Alias" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Namespace" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfCastRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Cast" nillable="true" type="CastRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfString3">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Type" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfMethodRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Method" nillable="true" type="MethodRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfPropRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Property" nillable="true" type="PropRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfFieldRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true" type="FieldRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfIndexerRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Indexer" nillable="true" type="IndexerRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfConstructorRepTemplate">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Constructor" nillable="true" type="ConstructorRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfFieldRepTemplate1">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Field" nillable="true" type="FieldRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfMethodRepTemplate1">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="UnaryOp" nillable="true" type="MethodRepTemplate" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfMethodRepTemplate2">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="BinaryOp" nillable="true" type="MethodRepTemplate" />
</xs:sequence>
</xs:complexType>
</xs:schema>