<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:engine="UnityEngine.Experimental.UIElements" xmlns:editor="UnityEditor.Experimental.UIElements" elementFormDefault="qualified" targetNamespace="UnityEditor.Experimental.UIElements" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="UnityEngine.Experimental.UIElements.xsd" namespace="UnityEngine.Experimental.UIElements" />
  <xs:complexType name="FloatFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="" name="text" type="xs:string" use="optional" />
        <xs:attribute default="-1" name="maxLength" type="xs:int" use="optional" />
        <xs:attribute default="false" name="password" type="xs:boolean" use="optional" />
        <xs:attribute default="*" name="maskCharacter" type="xs:string" use="optional" />
        <xs:attribute default="0" name="value" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FloatField" substitutionGroup="engine:VisualElement" type="editor:FloatFieldType" />
  <xs:complexType name="DoubleFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="" name="text" type="xs:string" use="optional" />
        <xs:attribute default="-1" name="maxLength" type="xs:int" use="optional" />
        <xs:attribute default="false" name="password" type="xs:boolean" use="optional" />
        <xs:attribute default="*" name="maskCharacter" type="xs:string" use="optional" />
        <xs:attribute default="0" name="value" type="xs:double" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DoubleField" substitutionGroup="engine:VisualElement" type="editor:DoubleFieldType" />
  <xs:complexType name="IntegerFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="" name="text" type="xs:string" use="optional" />
        <xs:attribute default="-1" name="maxLength" type="xs:int" use="optional" />
        <xs:attribute default="false" name="password" type="xs:boolean" use="optional" />
        <xs:attribute default="*" name="maskCharacter" type="xs:string" use="optional" />
        <xs:attribute default="0" name="value" type="xs:int" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="IntegerField" substitutionGroup="engine:VisualElement" type="editor:IntegerFieldType" />
  <xs:complexType name="LongFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="" name="text" type="xs:string" use="optional" />
        <xs:attribute default="-1" name="maxLength" type="xs:int" use="optional" />
        <xs:attribute default="false" name="password" type="xs:boolean" use="optional" />
        <xs:attribute default="*" name="maskCharacter" type="xs:string" use="optional" />
        <xs:attribute default="0" name="value" type="xs:long" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LongField" substitutionGroup="engine:VisualElement" type="editor:LongFieldType" />
  <xs:complexType name="CurveFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CurveField" substitutionGroup="engine:VisualElement" type="editor:CurveFieldType" />
  <xs:complexType name="ObjectFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="true" name="allowSceneObjects" type="xs:boolean" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ObjectField" substitutionGroup="engine:VisualElement" type="editor:ObjectFieldType" />
  <xs:complexType name="ColorFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="RGBA(0.000, 0.000, 0.000, 1.000)" name="value" type="xs:string" use="optional" />
        <xs:attribute default="true" name="showEyeDropper" type="xs:boolean" use="optional" />
        <xs:attribute default="true" name="showAlpha" type="xs:boolean" use="optional" />
        <xs:attribute default="false" name="hdr" type="xs:boolean" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ColorField" substitutionGroup="engine:VisualElement" type="editor:ColorFieldType" />
  <xs:complexType name="EnumFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="" name="text" type="xs:string" use="optional" />
        <xs:attribute name="type" type="xs:string" use="required" />
        <xs:attribute default="" name="value" type="xs:string" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="EnumField" substitutionGroup="engine:VisualElement" type="editor:EnumFieldType" />
  <xs:complexType name="GradientFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GradientField" substitutionGroup="engine:VisualElement" type="editor:GradientFieldType" />
  <xs:complexType name="RectFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="0" name="x" type="xs:float" use="optional" />
        <xs:attribute default="0" name="y" type="xs:float" use="optional" />
        <xs:attribute default="0" name="w" type="xs:float" use="optional" />
        <xs:attribute default="0" name="h" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RectField" substitutionGroup="engine:VisualElement" type="editor:RectFieldType" />
  <xs:complexType name="Vector2FieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="0" name="x" type="xs:float" use="optional" />
        <xs:attribute default="0" name="y" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Vector2Field" substitutionGroup="engine:VisualElement" type="editor:Vector2FieldType" />
  <xs:complexType name="Vector3FieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="0" name="x" type="xs:float" use="optional" />
        <xs:attribute default="0" name="y" type="xs:float" use="optional" />
        <xs:attribute default="0" name="z" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Vector3Field" substitutionGroup="engine:VisualElement" type="editor:Vector3FieldType" />
  <xs:complexType name="Vector4FieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="0" name="x" type="xs:float" use="optional" />
        <xs:attribute default="0" name="y" type="xs:float" use="optional" />
        <xs:attribute default="0" name="z" type="xs:float" use="optional" />
        <xs:attribute default="0" name="w" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Vector4Field" substitutionGroup="engine:VisualElement" type="editor:Vector4FieldType" />
  <xs:complexType name="BoundsFieldType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute default="0" name="cx" type="xs:float" use="optional" />
        <xs:attribute default="0" name="cy" type="xs:float" use="optional" />
        <xs:attribute default="0" name="cz" type="xs:float" use="optional" />
        <xs:attribute default="0" name="ex" type="xs:float" use="optional" />
        <xs:attribute default="0" name="ey" type="xs:float" use="optional" />
        <xs:attribute default="0" name="ez" type="xs:float" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="BoundsField" substitutionGroup="engine:VisualElement" type="editor:BoundsFieldType" />
  <xs:simpleType name="PropertyControl_typeOf_Type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Long" />
      <xs:enumeration value="Double" />
      <xs:enumeration value="Int" />
      <xs:enumeration value="Float" />
      <xs:enumeration value="String" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PropertyControlType">
    <xs:complexContent mixed="false">
      <xs:restriction base="engine:VisualElementType">
        <xs:attribute default="" name="name" type="xs:string" use="optional" />
        <xs:attribute default="Position" name="pickingMode" type="engine:VisualElement_pickingMode_Type" use="optional" />
        <xs:attribute default="0" name="focusIndex" type="xs:int" use="optional" />
        <xs:attribute name="typeOf" type="editor:PropertyControl_typeOf_Type" use="required" />
        <xs:attribute default="" name="value" type="xs:string" use="optional" />
        <xs:attribute default="" name="label" type="xs:string" use="optional" />
        <xs:anyAttribute processContents="lax" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PropertyControl" substitutionGroup="engine:VisualElement" type="editor:PropertyControlType" />
</xs:schema>