<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/developer/msbuild/2003" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <!-- ======================================================================================= -->
    <xs:element name="Project">
         <xs:annotation>
            <xs:documentation><!-- _locID_text="Project" _locComment="" -->Bir MSBuild projesi</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:group ref="msb:ProjectLevelTagExceptTargetOrImportType" minOccurs="0" maxOccurs="unbounded"/>
                <!-- must be at least one Target or Import tag-->
                <xs:group ref="msb:TargetOrImportType"/>
                <xs:group ref="msb:ProjectLevelTagType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="DefaultTargets" type="xs:string" use="optional">
                <xs:annotation>
                    <xs:documentation><!-- _locID_text="Project_DefaultTargets" _locComment="" -->Eğer başka hiçbir hedef belirtilmemişse derlenecek olan, bir veya birden fazla hedefin isteğe bağlı olarak noktalı virgülle ayrılmış listesi</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="InitialTargets" type="xs:string" use="optional">
                <xs:annotation>
                    <xs:documentation><!-- _locID_text="Project_InitialTargets" _locComment="" -->Herzaman diğer tüm hedeflerden önce derlenmesi gereken hedeflerin isteğe bağlı olarak noktalı virgülle ayrılmış listesi</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Sdk" type="xs:string" use="optional">
                <xs:annotation>
                    <xs:documentation><!-- _locID_text="Project_Sdk" _locComment="" -->Bu projeyi derlemek için kullanılması gereken MSBuild SDK'sı sürümünü tanımlayan isteğe bağlı dize</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ToolsVersion" type="xs:string" use="optional">
                <xs:annotation>
                    <xs:documentation><!-- _locID_text="Project_ToolsVersion" _locComment="" -->Bu projenin ile normalde derlenmesi gereken araç kümesi sürümünü tanımlayan isteğe bağlı dize</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
    <!-- ======================================================================================= -->
    <xs:group name="ProjectLevelTagExceptTargetOrImportType">
        <xs:choice>
            <xs:element name="PropertyGroup" type="msb:PropertyGroupType"/>
            <xs:element name="ItemGroup" type="msb:ItemGroupType"/>
            <xs:element name="ItemDefinitionGroup" type="msb:ItemDefinitionGroupType"/>
            <xs:element name="Choose" type="msb:ChooseType"/>
            <xs:element name="UsingTask" type="msb:UsingTaskType"/>
            <xs:element name="ProjectExtensions" type="msb:ProjectExtensionsType"/>
        </xs:choice>
    </xs:group>
    <!-- ======================================================================================= -->    
    <xs:group name="ProjectLevelTagType">
        <xs:choice>
            <xs:element name="PropertyGroup" type="msb:PropertyGroupType"/>
            <xs:element name="ItemGroup" type="msb:ItemGroupType"/>
            <xs:element name="ItemDefinitionGroup" type="msb:ItemDefinitionGroupType"/>
            <xs:element name="Choose" type="msb:ChooseType"/>
            <xs:element name="UsingTask" type="msb:UsingTaskType"/>
            <xs:element name="Target" type="msb:TargetType"/>
            <xs:element name="Import" type="msb:ImportType"/>
            <xs:element name="ImportGroup" type="msb:ImportGroupType"/>
            <xs:element name="ProjectExtensions" type="msb:ProjectExtensionsType"/>
        </xs:choice>
    </xs:group>
    <!-- ======================================================================================= -->
    <xs:group name="TargetOrImportType">
        <xs:choice>
            <xs:element name="Target" type="msb:TargetType"/>
            <xs:element name="Import" type="msb:ImportType"/>
            <xs:element name="ImportGroup" type="msb:ImportGroupType"/>
        </xs:choice>
    </xs:group>    
    <!-- ======================================================================================= -->        
    <xs:complexType name="TargetType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="TargetType" _locComment="" -->Görevleri, oluşturma işleminin içinde bir bölümde gruplandırır</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="msb:Task"/>
                    <xs:element name="PropertyGroup" type="msb:PropertyGroupType"/>
                    <xs:element name="ItemGroup" type="msb:ItemGroupType"/>
                </xs:choice>
            </xs:sequence>
            <xs:element name="OnError" type="msb:OnErrorType" minOccurs="0" maxOccurs="unbounded"/>
            <!-- no elements are allowed under Target after an OnError element-->
        </xs:sequence>
        <xs:attribute name="Name" type="msb:non_empty_string" use="required">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_Name" _locComment="" -->Hedefin adı</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="DependsOnTargets" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_DependsOnTargets" _locComment="" -->Bu hedeften önce çalıştırılması gereken hedeflerin isteğe bağlı olarak bir noktalı virgülle ayrılmış listesi</xs:documentation>
            </xs:annotation>
        </xs:attribute>            
        <xs:attribute name="Inputs" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_Inputs" _locComment="" -->Bu hedefin içine giriş oluşturan dosyaların isteğe bağlı olarak noktalı virgülle ayrılmış listesi. Hedefin güncel olup olmadığına karar vermek için bu girişlerin yaman damgaları Çıkıştaki dosyaların zaman damgalarıyla karşılaştırılacak</xs:documentation>
            </xs:annotation>
        </xs:attribute>                
        <xs:attribute name="Outputs" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_Outputs" _locComment="" -->Bu hedefin içine giriş oluşturan dosyaların isteğe bağlı olarak noktalı virgülle ayrılmış listesi. Hedefin güncel olup olmadığına karar vermek için bu girişlerin yaman damgaları Girişteki dosyaların zaman damgalarıyla karşılaştırılacak</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, Hedef ve hedefin bağımlı olduğu hedeflerin çalıştırılıp çalıştırılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>            
        <xs:attribute name="KeepDuplicateOutputs" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_KeepDuplicateOutputs" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, Hedef Dönüşündeki yinelenmiş öğelerin, öğeler geri döndürülmeden önce kaldırılıp kaldırılmayacağına karar verme yönünde sonuç verdi. Varsayılan, yinelenenleri yok etmemektir.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Returns" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_Returns" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, hedef tarafından üretilen hangi öğelerin geri döndürülmesi gerektiğine karar verme yönünde sonuç verdi. Dosyadaki Hedefler üzerinde Geri Dönüş öznitelikleri yoksa, bu amaç için bunun yerine Çıkış öznitelikleri kullanılır.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="BeforeTargets" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_BeforeTargets" _locComment="" -->Bu hedeften sonra çalıştırılacak hedeflerin isteğe bağlı olarak noktalı virgülle ayrılmış listesi.</xs:documentation>
            </xs:annotation>
        </xs:attribute>   
        <xs:attribute name="AfterTargets" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TargetType_AfterTargets" _locComment="" -->Bu hedeften önce calıştırılacak hedeflerin isteğe beğlı olarak noktalı virgülle ayrılmış listesi.</xs:documentation>
            </xs:annotation>
        </xs:attribute>     
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->        
    <xs:complexType name="PropertyGroupType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="PropertyGroupType" _locComment="" -->Özellik tanımlarını gruplar</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="msb:Property"/>
        </xs:sequence>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="PropertyGroupType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, PropertyGroup'un kullanılıp kullanılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation> 
        </xs:attribute>     
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="PropertyGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->        
    <xs:complexType name="ImportGroupType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ImportGroupType" _locComment="" -->İçe aktarılan tanımlarını gruplar</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Import" type="msb:ImportType"/>
        </xs:sequence>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportGroupType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, ImportGroup'un kullanılıp kullanılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation> 
        </xs:attribute>     
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->        
    <xs:complexType name="ItemGroupType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ItemGroupType" _locComment="" -->Öğe listesi tanımlarını gruplar</xs:documentation>
        </xs:annotation>        
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="msb:Item"/>
            <xs:element name="Link" type="msb:LinkItem"/>
            <xs:element name="ResourceCompile" type="msb:ResourceCompile"/>
            <xs:element name="PreBuildEvent" type="msb:PreBuildEventItem"/>
            <xs:element name="PostBuildEvent" type="msb:PostBuildEventItem"/>
        </xs:choice>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ItemGroupType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, ItemGroup'un kullanılıp kullanılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>     
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ItemGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->        
    <xs:complexType name="ItemDefinitionGroupType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ItemDefinitionGroupType" _locComment="" -->Öğe meta verileri tanımlarını gruplar</xs:documentation>
        </xs:annotation>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="msb:Item"/>
            <xs:element name="Link" type="msb:LinkItem"/>
            <xs:element name="ResourceCompile" type="msb:ResourceCompile"/>
            <xs:element name="PreBuildEvent" type="msb:PreBuildEventItem"/>
            <xs:element name="PostBuildEvent" type="msb:PostBuildEventItem"/>
        </xs:choice>
        <xs:attribute name="Condition" type="xs:string" use="optional">
          <xs:annotation>
             <xs:documentation><!-- _locID_text="ItemDefinitionGroupType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, ItemDefinitionGroup'un kullanılıp kullanılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ItemDefinitionGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->
    <xs:complexType name="ChooseType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ChooseType" _locComment="" -->When ve Otherwise öğelerini gruplar</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="When" type="msb:WhenType" maxOccurs="unbounded"/>
            <xs:element name="Otherwise" type="msb:OtherwiseType" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ChooseType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->
    <xs:complexType name="WhenType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="WhenType" _locComment="" -->PropertyGroup ve/veya ItemGroup öğelerini gruplar</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:choice>
                <xs:element name="PropertyGroup" type="msb:PropertyGroupType"/>
                <xs:element name="ItemGroup" type="msb:ItemGroupType"/>
                <xs:element name="Choose" type="msb:ChooseType"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="Condition" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="WhenType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, alt PropertyGroups ve/veya ItemGroups'un kullanılıp kullanılmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->
    <xs:complexType name="OtherwiseType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="OtherwiseType" _locComment="" -->Hiçbir koşulun değerlendirmesi, Eşdeğer When öğeleri üzerinde true sonucunu vermemişse kullanılan PropertyGroup ve/veya ItemGroup öğelerini gruplandır</xs:documentation>
        </xs:annotation>        
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:choice>
                <xs:element name="PropertyGroup" type="msb:PropertyGroupType"/>
                <xs:element name="ItemGroup" type="msb:ItemGroupType"/>
                <xs:element name="Choose" type="msb:ChooseType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <!-- ======================================================================================= -->        
    <xs:complexType name="OnErrorType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="OnErrorType" _locComment="" -->Kurtarılabilir bir hatanın olayı içerisinde yürütülmek üzere hedef belirtir</xs:documentation>
        </xs:annotation>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="OnErrorType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, hedeflerin yürütülüp yürütülmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ExecuteTargets" type="msb:non_empty_string" use="required">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="OnErrorType_ExecuteTargets" _locComment="" -->Yürütülecek hedeflerin noktalı virgülle ayrılmış listesi</xs:documentation>
            </xs:annotation>
        </xs:attribute>    
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>        
    </xs:complexType>
    <!-- ======================================================================================= -->    
    <xs:complexType name="UsingTaskType">
      <xs:annotation>
        <xs:documentation><!-- _locID_text="UsingTaskType" _locComment="" -->Bir görevin uygulamasını içeren derlemeyi, ya da uygulamanın kendisini tanımlar.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="ParameterGroup" type="msb:ParameterGroupType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="Task" type="msb:UsingTaskBodyType" minOccurs="0" maxOccurs="1"/>    
      </xs:sequence> 
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="UsingTaskType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, bildirimin değerlendirilip değerlendirilmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>          
        <xs:attribute name="AssemblyName" type="msb:non_empty_string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="UsingTaskType_AssemblyName" _locComment="" -->Görevi içeren derlemenin isteğe bağlı adı. AssemblyName veya AssemblyFile kullanılmalıdır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="AssemblyFile" type="msb:non_empty_string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="UsingTaskType_AssemblyFile" _locComment="" -->Görevi içeren derlemeye isteğe bağlı yol. AssemblyName veya AssemblyFile kullanılmalıdır</xs:documentation>
            </xs:annotation>
        </xs:attribute>            
        <xs:attribute name="TaskName" type="msb:non_empty_string" use="required">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="UsingTaskType_TaskName" _locComment="" -->Derlemedeki görev sınıfının adı</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="TaskFactory" type="msb:non_empty_string" use="optional">
          <xs:annotation>
            <xs:documentation><!-- _locID_text="UsingTaskType_TaskFactory" _locComment="" -->Derlemedeki görev üreticisi sınıfının adı</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Architecture" type="msb:architecture" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="UsingTaskType_Architecture" _locComment="" -->Bu görevin içinde çalışması gereken görev ana bilgisayarının mimarisini tanımlar.  Desteklenmekte olan değerler: x86, x64, CurrentArchitecture, ve * (herhangi).  Mimari belirtilmezse, ya görev MSBuild işleminde çalışacak, ya da görev ana bilgisayarı üst MSBuild işlem mimarisi kullanılarak başlatılacaktır
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Runtime" type="msb:runtime" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="UsingTaskType_Runtime" _locComment="" -->Görev ana bilgisayarının içinde çalışması gerektiği .NET çalışma zamanı sürümünü tanımlar.  Şu anda desteklenen değerler: CLR2, CLR4, CurrentRuntime ve * (herhangi).  Çalışma zamanı belirtilmezse, ya görev MSBuild işleminde çalışacak, ya da görev ana bilgisayarı üst MSBuild işlemi çalışma zamanı kullanılarak başlatılacaktır
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
    </xs:complexType> 
    <!-- ======================================================================================= -->
    <xs:complexType name="ParameterGroupType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ParameterGroupType" _locComment="" -->Bir satır içi görevin bölümü olan parametreleri gruplar.</xs:documentation>
        </xs:annotation> 
        <!-- ParameterGroup contains parameter elements whose element names are the parameter names.
             Attributes are:
                  * ParameterType. Optional string. Type of the task parameter. Defaults to string type.
                  * Output. Optional bool. Whether this task parameter can be retrieved as an output. Defaults to false.
                  * Required. Optional bool. Whether this task parameter is required to be passed a value. Defaults to false.
             It is not possible to validate attributes on elements with undefined names using XSD.
          -->
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:any processContents="skip"/>
        </xs:sequence>
    </xs:complexType>     
    <!-- ======================================================================================= -->
    <xs:complexType name="UsingTaskBodyType" mixed="true">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="UsingTaskBodyType" _locComment="" -->Satır içi görev uygulamasını içerir. İçerik MSBuild'e donuktur.</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:any namespace="##any" processContents="skip"/>
        </xs:sequence>        
        <xs:attribute name="Evaluate" type="msb:boolean" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="UsingTaskBodyType_Evaluate" _locComment="" -->Gövde kullanılmadan önce genişletilmiş özelliklerinin olup olmaması gerektiği. Varsayılan değeri false'tur.</xs:documentation>
            </xs:annotation>
        </xs:attribute>        
    </xs:complexType>     
    <!-- ======================================================================================= -->  
    <xs:complexType name="ImportType">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ImportType" _locComment="" -->Başka bir proje dosyasının içeriğinin bu konuma girilmesi gerektiğini bildirir</xs:documentation>
        </xs:annotation>        
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, alımın gerçekleşip gerçekleşmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>              
        <xs:attribute name="Project" type="msb:non_empty_string" use="required">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportType_Project" _locComment="" -->İçe aktarılacak proje</xs:documentation>
            </xs:annotation>
        </xs:attribute>     
        <xs:attribute name="Label" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="ImportType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Sdk" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>
                    <!-- _locID_text="ImportType_Sdk" _locComment="" -->İçeri aktarılacak proje dosyasını içeren SDK'nın adı</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Version" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>
                    <!-- _locID_text="ImportType_Version" _locComment="" -->Bu içeri aktarım tarafından başvurulan SDK sürümünü belirtmek için kullanılan isteğe bağlı ifade</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinimumVersion" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>
                    <!-- _locID_text="ImportType_MinimumVersion" _locComment="" -->Başvuran içeri aktarım için gereken en düşük SDK sürümünü belirtmek üzere kullanılan isteğe bağlı ifade</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->  
    <xs:complexType name="ProjectExtensionsType" mixed="true">
        <xs:annotation>
            <xs:documentation><!-- _locID_text="ProjectExtensionsType" _locComment="" -->MSBuild'in kendisi tarafından göz ardı edilen rasgele XML içerik içerebilen MSBuild ana bilgisayarı tarafından kullanılan isteğe bağlı bölüm</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:any processContents="skip"/>
        </xs:sequence>
    </xs:complexType>    
    <!-- ======================================================================================= -->
    <xs:element name="Item" type="msb:SimpleItemType" abstract="true"/>
    <!-- ======================================================================================= -->   
    <!-- convenience type for items that have no meta-data-->
    <!-- note this allows Remove or no attribute instead of Include, which is too lax outside of Targets at present, but 
         it's the best we can reasonably do with an XSD -->
    <xs:complexType name="SimpleItemType">
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="SimpleItemType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, öğelerin değerlendirilip değerlendirilmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Include" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="SimpleItemType_Include" _locComment="" -->Bu öğe listesinde içermek için dosya (joker karakterlere izin verilmiştir) veya diğer öğe adlarının noktalı virgülle ayrılmış listesi</xs:documentation>
            </xs:annotation>
        </xs:attribute>             
        <xs:attribute name="Exclude" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="SimpleItemType_Exclude" _locComment="" -->İçeren listesinden dışlanmak için dosya (joker karakterlere izin verilmiştir) veya diğer öğe adlarının noktalı virgülle ayrılmış listesi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Remove" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="SimpleItemType_Remove" _locComment="" -->Varolan liste içeriğinden kaldırmak için dosya (joker karakterlere izin verilmiştir) veya diğer öğe adlarının noktalı virgülle ayrılmış listesi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Update" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="SimpleItemType_Remove" _locComment="" -->Bu xml öğesinin içerdiği meta verilerle güncelleştirilecek dosyaların veya diğer öğe adlarının noktalı virgülle ayrılmış listesi (joker karakterlere izin verilir)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Label" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="ImportGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->      
    <!-- general utility type allowing an item type to be defined but not its child meta-data-->
    <xs:complexType name="GenericItemType">
        <xs:complexContent>
            <xs:extension base="msb:SimpleItemType">
                <xs:sequence minOccurs="0" maxOccurs="unbounded">
                    <xs:any namespace="##any" processContents="skip"/>  
                </xs:sequence>      
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <!-- ======================================================================================= -->  
    <!-- no type declared on this abstract element, so either a simple or complex type can be substituted for it.-->
    <xs:element name="Property" abstract="true"/>
    <!-- ======================================================================================= -->      
    <!-- convenience type for properties that just want to allow text and no elements in them-->
    <xs:complexType name="StringPropertyType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Condition" type="xs:string" use="optional">
                    <xs:annotation>
                        <xs:documentation><!-- _locID_text="StringPropertyType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, özelliğin değerlendirilip değerlendirilmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Label" type="xs:string" use="optional">
                  <xs:annotation>
                    <xs:documentation>
                      <!-- _locID_text="ImportGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır
                    </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <!-- ======================================================================================= -->      
    <!-- general utility type allowing text and/or elements inside-->
    <xs:complexType name="GenericPropertyType" mixed="true">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:any namespace="##any" processContents="skip"/>
        </xs:sequence>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="GenericPropertyType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, özelliğin değerlendirilip değerlendirilmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>         
        </xs:attribute>
        <xs:attribute name="Label" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="ImportGroupType_Label" _locComment="" -->İsteğe bağlı ifade. Sistem ve kullanıcı öğelerini tanımlamak veya düzenlemek için kullanılır
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <!-- ======================================================================================= -->
    <xs:element name="Task" type="msb:TaskType" abstract="true"/>
    <!-- ======================================================================================= -->
    <xs:complexType name="TaskType">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element name="Output">
                <xs:annotation>
                    <xs:documentation><!-- _locID_text="TaskType_Output" _locComment="" -->Toplanması için, belirli bir görev çıkışı belirleyen isteğe bağlı öğe</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="TaskParameter" type="msb:non_empty_string" use="required">
                        <xs:annotation>
                            <xs:documentation><!-- _locID_text="TaskType_Output_TaskParameter" _locComment="" -->Toplanmak için görev parametresi. bir [Çıkış] özniteliği olan görev sınıfının üzerindeki bir .NET Özelliğinin adını eşleştirir</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ItemName" type="msb:non_empty_string" use="optional">
                        <xs:annotation>
                            <xs:documentation><!-- _locID_text="TaskType_Output_ItemName" _locComment="" -->Toplanmış çıkışları içine koymak için bir öğe listesinin isteğe bağlı adı. ItemName veya PropertyName belirtilmelidir</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="PropertyName" type="msb:non_empty_string" use="optional">
                        <xs:annotation>
                            <xs:documentation><!-- _locID_text="TaskType_Output_PropertyName" _locComment="" -->Toplanmış çıkışları içine koymak için bir özelliğin isteğe bağlı adı. ItemName veya PropertyName belirtilmelidir</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="Condition" type="xs:string" use="optional">
                        <xs:annotation>
                            <xs:documentation><!-- _locID_text="TaskType_Output_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, çıkışın toplanıp toplanmaması gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="Condition" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TaskType_Condition" _locComment="" -->İsteğe bağlı ifadenin değerlendirilmesi, görevin yürütülüp yürütülmemesi gerektiğine karar verme yönünde sonuç verdi</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContinueOnError" type="msb:boolean" use="optional">
            <xs:annotation>
                <xs:documentation><!-- _locID_text="TaskType_ContinueOnError" _locComment="" -->Kurtarılabilir bir görev hatasının yoksayılıp yoksayılmaması gerektiğini gösteren isteğe bağlı boole değeri. Varsayılanı false'tur</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Architecture" type="msb:architecture" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="TaskType_Architecture" _locComment="" -->Görevin özellikle bir 32 bit ya da 64 bit işleminde mi çalıştırılması gerektiği bit özelliğini tanımlar. Belirtilmediği takdirde, derleme işleminin bit özelliğiyle çalıştırılacaktır.  Aynı ad ancak farklı Mimari öznitelik değerleri ile UsingTask'de tanımlanmış çoklu görevler mevcut ise, burada belirtilen mimari özniteliğinin değeri doğru görevi eşleştirmek ve seçmek için kullanılacak
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Runtime" type="msb:runtime" use="optional">
          <xs:annotation>
            <xs:documentation>
              <!-- _locID_text="TaskType_Runtime" _locComment="" -->Görevin .NET çalışma zamanını tanımlar. Görev .NET çalışma zamanının belirtilmiş bir sürümü üzerinde çalışacaksa, görev belirtilmelidir. Belirtilmezse, görev derleme işlemi tarafından kullanılan çalışma zamanı üzerinde çalışacaktır. Eğer aynı ad ancak farklı Çalışma Zamanı öznitelik değerleri ile UsingTask'de tanımlanmış çoklu görevler mevcut ise, burada belirtilen Çalışma Zamanı özniteliğinin değeri doğru değeri seçmek ve eşleştirmek için kullanılacak
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <!-- We don't need the anyAttribute here because other types deriving from this type will add the right attributes.-->
    </xs:complexType>
    <!-- ======================================================================================= -->  
    <!-- XSD considers an empty-valued attribute to satisfy use="required", but we want it to have a non-empty value in most cases, hence this utility type. -->
    <xs:simpleType name="non_empty_string">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- This type causes intellisense to suggest "true" or "false", but doesn't actually constrain the value beyond msb:non_empty_string.
    We can't constrain the value, because the project author might want to pass a property or item instead of a literal value.
    Besides, MSBuild will accept other literal values, like "on" and "off", just as well. -->
    <xs:simpleType name="boolean">
        <xs:union memberTypes="msb:non_empty_string">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="true"/>
                    <xs:enumeration value="false"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!-- Similar trick for Importance -->
    <xs:simpleType name="importance">
        <xs:union memberTypes="msb:non_empty_string">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="high"/>
                    <xs:enumeration value="normal"/>
                    <xs:enumeration value="low"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!-- Similar trick for Architecture -->
    <xs:simpleType name="architecture">
      <xs:union memberTypes="msb:non_empty_string">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="*"/>
            <xs:enumeration value="CurrentArchitecture"/>
            <xs:enumeration value="x86"/>
            <xs:enumeration value="x64"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:union>
    </xs:simpleType>
    <!-- Similar trick for Runtime -->
    <xs:simpleType name="runtime">
      <xs:union memberTypes="msb:non_empty_string">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="*"/>
            <xs:enumeration value="CurrentRuntime"/>
            <xs:enumeration value="CLR2"/>
            <xs:enumeration value="CLR4"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:union>
    </xs:simpleType>
    <!-- ======================================================================================= -->  
    <!-- These types are used to enable Tasks and TaskItems global elements to exist in the schema. 
         They cannot both be declared as "Link" Elements of differing types in global scope. -->
    <xs:complexType name="LinkItem">
      <xs:complexContent>
        <xs:extension base="msb:SimpleItemType">
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="AdditionalDependencies"/>
            <xs:element name="OutputFile"/>
            <xs:element name="AssemblyDebug"/>
            <xs:element name="SubSystem"/>
            <xs:element name="ShowProgress"/>
            <xs:element name="GenerateDebugInformation"/>
            <xs:element name="EnableCOMDATFolding"/>
            <xs:element name="OptimizeReferences"/>
            <xs:element name="Version"/>
            <xs:element name="Driver"/>
            <xs:element name="RandomizedBaseAddress"/>
            <xs:element name="SuppressStartupBanner"/>
            <xs:element name="AdditionalLibraryDirectories"/>
            <xs:element name="Profile"/>
            <xs:element name="LinkStatus"/>
            <xs:element name="FixedBaseAddress"/>
            <xs:element name="DataExecutionPrevention"/>
            <xs:element name="SwapRunFromCD"/>
            <xs:element name="SwapRunFromNET"/>
            <xs:element name="RegisterOutput"/>
            <xs:element name="AllowIsolation"/>
            <xs:element name="EnableUAC"/>
            <xs:element name="UACExecutionLevel"/>
            <xs:element name="UACUIAccess"/>
            <xs:element name="PreventDllBinding"/>
            <xs:element name="IgnoreStandardIncludePath"/>
            <xs:element name="GenerateMapFile"/>
            <xs:element name="IgnoreEmbeddedIDL"/>
            <xs:element name="TypeLibraryResourceID"/>
            <xs:element name="LinkErrorReporting"/>
            <xs:element name="MapExports"/>
            <xs:element name="TargetMachine"/>
            <xs:element name="TreatLinkerWarningAsErrors"/>
            <xs:element name="ForceFileOutput"/>
            <xs:element name="CreateHotPatchableImage"/>
            <xs:element name="SpecifySectionAttributes"/>
            <xs:element name="MSDOSStubFileName"/>
            <xs:element name="IgnoreAllDefaultLibraries"/>
            <xs:element name="IgnoreSpecificDefaultLibraries"/>
            <xs:element name="ModuleDefinitionFile"/>
            <xs:element name="AddModuleNamesToAssembly"/>
            <xs:element name="EmbedManagedResourceFile"/>
            <xs:element name="ForceSymbolReferences"/>
            <xs:element name="DelayLoadDLLs"/>
            <xs:element name="AssemblyLinkResource"/>
            <xs:element name="AdditionalManifestDependencies"/>
            <xs:element name="StripPrivateSymbols"/>
            <xs:element name="MapFileName"/>
            <xs:element name="MinimumRequiredVersion"/>
            <xs:element name="HeapReserveSize"/>
            <xs:element name="HeapCommitSize"/>
            <xs:element name="StackReserveSize"/>
            <xs:element name="StackCommitSize"/>
            <xs:element name="LargeAddressAware"/>
            <xs:element name="TerminalServerAware"/>
            <xs:element name="FunctionOrder"/>
            <xs:element name="ProfileGuidedDatabase"/>
            <xs:element name="LinkTimeCodeGeneration"/>
            <xs:element name="MidlCommandFile"/>
            <xs:element name="MergedIDLBaseFileName"/>
            <xs:element name="TypeLibraryFile"/>
            <xs:element name="EntryPointSymbol"/>
            <xs:element name="BaseAddress"/>
            <xs:element name="ProgramDatabaseFile"/>
            <xs:element name="SupportUnloadOfDelayLoadedDLL"/>
            <xs:element name="SupportNobindOfDelayLoadedDLL"/>
            <xs:element name="ImportLibrary"/>
            <xs:element name="MergeSections"/>
            <xs:element name="CLRThreadAttribute"/>
            <xs:element name="CLRImageType"/>
            <xs:element name="KeyFile"/>
            <xs:element name="KeyContainer"/>
            <xs:element name="DelaySign"/>
            <xs:element name="CLRUnmanagedCodeCheck"/>
            <xs:element name="SectionAlignment"/>
            <xs:element name="CLRSupportLastError"/>
            <xs:element name="ImageHasSafeExceptionHandlers"/>
          </xs:choice>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ResourceCompile">
      <xs:complexContent>
        <xs:extension base="msb:SimpleItemType">
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="Culture"/>
            <xs:element name="PreprocessorDefinitions"/>
            <xs:element name="UndefinePreprocessorDefinitions"/>
            <xs:element name="AdditionalIncludeDirectories"/>
            <xs:element name="IgnoreStandardIncludePath"/>
            <xs:element name="ShowProgress"/>
            <xs:element name="NullTerminateStrings"/>
            <xs:element name="SuppressStartupBanner"/>
            <xs:element name="ResourceOutputFileName"/>
          </xs:choice>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PreBuildEventItem">
      <xs:complexContent>
        <xs:extension base="msb:SimpleItemType">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="Message"/>
              <xs:element name="Command"/>
            </xs:choice>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PostBuildEventItem">
      <xs:complexContent>
        <xs:extension base="msb:SimpleItemType">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="Message"/>
              <xs:element name="Command"/>
            </xs:choice>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
</xs:schema>
