<?xml version="1.0" encoding="UTF-8"?>
<!--
Salesforce.com Metadata API version 13.0

Copyright 2006-2008 Salesforce.com, inc. All Rights Reserved
-->
<definitions targetNamespace="http://soap.sforce.com/2006/04/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://soap.sforce.com/2006/04/metadata">
 <types>
  <xsd:schema elementFormDefault="qualified" targetNamespace="http://soap.sforce.com/2006/04/metadata">
   <xsd:element name="DebuggingInfo">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="debugLog" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="AsyncResult">
    <xsd:sequence>
     <xsd:element name="done" type="xsd:boolean"/>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="message" minOccurs="0" type="xsd:string"/>
     <xsd:element name="secondsToWait" type="xsd:int"/>
     <xsd:element name="state" type="tns:AsyncRequestState"/>
     <xsd:element name="statusCode" minOccurs="0" type="tns:StatusCode"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="AsyncRequestState">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Queued"/>
     <xsd:enumeration value="InProgress"/>
     <xsd:enumeration value="Completed"/>
     <xsd:enumeration value="Error"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DeployResult">
    <xsd:sequence>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="messages" minOccurs="0" maxOccurs="unbounded" type="tns:DeployMessage"/>
     <xsd:element name="retrieveResult" minOccurs="0" type="tns:RetrieveResult"/>
     <xsd:element name="runTestResult" minOccurs="0" type="tns:RunTestsResult"/>
     <xsd:element name="success" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="DeployMessage">
    <xsd:sequence>
     <xsd:element name="changed" type="xsd:boolean"/>
     <xsd:element name="columnNumber" minOccurs="0" type="xsd:int"/>
     <xsd:element name="created" type="xsd:boolean"/>
     <xsd:element name="deleted" type="xsd:boolean"/>
     <xsd:element name="fileName" type="xsd:string"/>
     <xsd:element name="fullName" type="xsd:string"/>
     <xsd:element name="id" minOccurs="0" type="xsd:string"/>
     <xsd:element name="lineNumber" minOccurs="0" type="xsd:int"/>
     <xsd:element name="problem" minOccurs="0" type="xsd:string"/>
     <xsd:element name="success" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="RetrieveResult">
    <xsd:sequence>
     <xsd:element name="fileProperties" minOccurs="0" maxOccurs="unbounded" type="tns:FileProperties"/>
     <xsd:element name="id" type="xsd:string"/>
     <xsd:element name="messages" minOccurs="0" maxOccurs="unbounded" type="tns:RetrieveMessage"/>
     <xsd:element name="zipFile" type="xsd:base64Binary"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="FileProperties">
    <xsd:sequence>
     <xsd:element name="createdById" type="xsd:string"/>
     <xsd:element name="createdByName" type="xsd:string"/>
     <xsd:element name="createdDate" type="xsd:dateTime"/>
     <xsd:element name="fileName" type="xsd:string"/>
     <xsd:element name="id" type="xsd:string"/>
     <xsd:element name="lastModifiedById" type="xsd:string"/>
     <xsd:element name="lastModifiedByName" type="xsd:string"/>
     <xsd:element name="lastModifiedDate" type="xsd:dateTime"/>
     <xsd:element name="manageableState" minOccurs="0" type="tns:ManageableState"/>
     <xsd:element name="namespacePrefix" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="ManageableState">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="released"/>
     <xsd:enumeration value="installed"/>
     <xsd:enumeration value="beta"/>
     <xsd:enumeration value="unmanaged"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RetrieveMessage">
    <xsd:sequence>
     <xsd:element name="fileName" type="xsd:string"/>
     <xsd:element name="problem" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="RunTestsResult">
    <xsd:sequence>
     <xsd:element name="codeCoverage" minOccurs="0" maxOccurs="unbounded" type="tns:CodeCoverageResult"/>
     <xsd:element name="codeCoverageWarnings" minOccurs="0" maxOccurs="unbounded" type="tns:CodeCoverageWarning"/>
     <xsd:element name="failures" minOccurs="0" maxOccurs="unbounded" type="tns:RunTestFailure"/>
     <xsd:element name="numFailures" type="xsd:int"/>
     <xsd:element name="numTestsRun" type="xsd:int"/>
     <xsd:element name="successes" minOccurs="0" maxOccurs="unbounded" type="tns:RunTestSuccess"/>
     <xsd:element name="totalTime" type="xsd:double"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CodeCoverageResult">
    <xsd:sequence>
     <xsd:element name="dmlInfo" minOccurs="0" maxOccurs="unbounded" type="tns:CodeLocation"/>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="locationsNotCovered" minOccurs="0" maxOccurs="unbounded" type="tns:CodeLocation"/>
     <xsd:element name="methodInfo" minOccurs="0" maxOccurs="unbounded" type="tns:CodeLocation"/>
     <xsd:element name="name" type="xsd:string"/>
     <xsd:element name="namespace" type="xsd:string" nillable="true"/>
     <xsd:element name="numLocations" type="xsd:int"/>
     <xsd:element name="numLocationsNotCovered" type="xsd:int"/>
     <xsd:element name="soqlInfo" minOccurs="0" maxOccurs="unbounded" type="tns:CodeLocation"/>
     <xsd:element name="soslInfo" minOccurs="0" maxOccurs="unbounded" type="tns:CodeLocation"/>
     <xsd:element name="type" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CodeLocation">
    <xsd:sequence>
     <xsd:element name="column" type="xsd:int"/>
     <xsd:element name="line" type="xsd:int"/>
     <xsd:element name="numExecutions" type="xsd:int"/>
     <xsd:element name="time" type="xsd:double"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CodeCoverageWarning">
    <xsd:sequence>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="message" type="xsd:string"/>
     <xsd:element name="name" type="xsd:string" nillable="true"/>
     <xsd:element name="namespace" type="xsd:string" nillable="true"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="RunTestFailure">
    <xsd:sequence>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="message" type="xsd:string"/>
     <xsd:element name="methodName" type="xsd:string" nillable="true"/>
     <xsd:element name="name" type="xsd:string"/>
     <xsd:element name="namespace" type="xsd:string" nillable="true"/>
     <xsd:element name="packageName" type="xsd:string"/>
     <xsd:element name="stackTrace" type="xsd:string" nillable="true"/>
     <xsd:element name="time" type="xsd:double"/>
     <xsd:element name="type" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="RunTestSuccess">
    <xsd:sequence>
     <xsd:element name="id" type="tns:ID"/>
     <xsd:element name="methodName" type="xsd:string"/>
     <xsd:element name="name" type="xsd:string"/>
     <xsd:element name="namespace" type="xsd:string" nillable="true"/>
     <xsd:element name="time" type="xsd:double"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="DescribeMetadataResult">
    <xsd:sequence>
     <xsd:element name="metadataObjects" minOccurs="0" maxOccurs="unbounded" type="tns:DescribeMetadataObject"/>
     <xsd:element name="organizationNamespace" type="xsd:string"/>
     <xsd:element name="partialSaveAllowed" type="xsd:boolean"/>
     <xsd:element name="testRequired" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="DescribeMetadataObject">
    <xsd:sequence>
     <xsd:element name="directoryName" type="xsd:string"/>
     <xsd:element name="inFolder" type="xsd:boolean"/>
     <xsd:element name="metaFile" type="xsd:boolean"/>
     <xsd:element name="parent" minOccurs="0" type="xsd:string"/>
     <xsd:element name="suffix" minOccurs="0" type="xsd:string"/>
     <xsd:element name="xmlName" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="StaticResource">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="contentType" type="xsd:string"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="Scontrol">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="contentSource" type="tns:SControlContentSource"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="encodingKey" type="tns:Encoding"/>
       <xsd:element name="fileContent" minOccurs="0" type="xsd:base64Binary"/>
       <xsd:element name="name" type="xsd:string"/>
       <xsd:element name="supportsCaching" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="SControlContentSource">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="HTML"/>
     <xsd:enumeration value="URL"/>
     <xsd:enumeration value="Snippet"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="Encoding">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Shift_JIS"/>
     <xsd:enumeration value="GB2312"/>
     <xsd:enumeration value="UTF-8"/>
     <xsd:enumeration value="ks_c_5601-1987"/>
     <xsd:enumeration value="EUC-JP"/>
     <xsd:enumeration value="ISO-2022-JP"/>
     <xsd:enumeration value="Big5"/>
     <xsd:enumeration value="ISO-8859-1"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ApexPage">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="apiVersion" type="xsd:double"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="label" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="ApexComponent">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="label" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CustomObject">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="customSettingsType" minOccurs="0" type="tns:CustomSettingsType"/>
       <xsd:element name="deploymentStatus" minOccurs="0" type="tns:DeploymentStatus"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="enableActivities" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="enableDivisions" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="enableHistory" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="enableReports" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="fields" minOccurs="0" maxOccurs="unbounded" type="tns:CustomField"/>
       <xsd:element name="gender" minOccurs="0" type="tns:Gender"/>
       <xsd:element name="household" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="label" minOccurs="0" type="xsd:string"/>
       <xsd:element name="nameField" minOccurs="0" type="tns:CustomField"/>
       <xsd:element name="pluralLabel" minOccurs="0" type="xsd:string"/>
       <xsd:element name="recordTypes" minOccurs="0" maxOccurs="unbounded" type="tns:RecordType"/>
       <xsd:element name="sharingModel" minOccurs="0" type="tns:SharingModel"/>
       <xsd:element name="startsWith" minOccurs="0" type="tns:StartsWith"/>
       <xsd:element name="validationRules" minOccurs="0" maxOccurs="unbounded" type="tns:ValidationRule"/>
       <xsd:element name="webLinks" minOccurs="0" maxOccurs="unbounded" type="tns:WebLink"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CustomField">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="caseSensitive" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="defaultValue" minOccurs="0" type="xsd:string"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="displayFormat" minOccurs="0" type="xsd:string"/>
       <xsd:element name="externalId" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="formula" minOccurs="0" type="xsd:string"/>
       <xsd:element name="formulaTreatBlanksAs" minOccurs="0" type="tns:TreatBlanksAs"/>
       <xsd:element name="indexed" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="inlineHelpText" minOccurs="0" type="xsd:string"/>
       <xsd:element name="label" type="xsd:string"/>
       <xsd:element name="length" minOccurs="0" type="xsd:int"/>
       <xsd:element name="maskChar" minOccurs="0" type="tns:EncryptedFieldMaskChar"/>
       <xsd:element name="maskType" minOccurs="0" type="tns:EncryptedFieldMaskType"/>
       <xsd:element name="picklist" minOccurs="0" type="tns:Picklist"/>
       <xsd:element name="populateExistingRows" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="precision" minOccurs="0" type="xsd:int"/>
       <xsd:element name="referenceTo" minOccurs="0" type="xsd:string"/>
       <xsd:element name="relationshipLabel" minOccurs="0" type="xsd:string"/>
       <xsd:element name="relationshipName" minOccurs="0" type="xsd:string"/>
       <xsd:element name="relationshipOrder" minOccurs="0" type="xsd:int"/>
       <xsd:element name="required" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="restrictedAdminField" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="scale" minOccurs="0" type="xsd:int"/>
       <xsd:element name="startingNumber" minOccurs="0" type="xsd:int"/>
       <xsd:element name="summarizedField" minOccurs="0" type="xsd:string"/>
       <xsd:element name="summaryFilterItems" minOccurs="0" maxOccurs="unbounded" type="tns:FilterItem"/>
       <xsd:element name="summaryForeignKey" minOccurs="0" type="xsd:string"/>
       <xsd:element name="summaryOperation" minOccurs="0" type="tns:SummaryOperations"/>
       <xsd:element name="trueValueIndexed" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="type" type="tns:FieldType"/>
       <xsd:element name="unique" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="visibleLines" minOccurs="0" type="xsd:int"/>
       <xsd:element name="writeRequiresMasterRead" minOccurs="0" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="EncryptedFieldMaskChar">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="asterisk"/>
     <xsd:enumeration value="X"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="EncryptedFieldMaskType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="all"/>
     <xsd:enumeration value="creditCard"/>
     <xsd:enumeration value="ssn"/>
     <xsd:enumeration value="lastFour"/>
     <xsd:enumeration value="sin"/>
     <xsd:enumeration value="nino"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="Picklist">
    <xsd:sequence>
     <xsd:element name="picklistValues" minOccurs="0" maxOccurs="unbounded" type="tns:PicklistValue"/>
     <xsd:element name="sorted" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="PicklistValue">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="default" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="FilterItem">
    <xsd:sequence>
     <xsd:element name="field" type="xsd:string"/>
     <xsd:element name="operation" type="tns:FilterOperation"/>
     <xsd:element name="value" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="SummaryOperations">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="count"/>
     <xsd:enumeration value="sum"/>
     <xsd:enumeration value="min"/>
     <xsd:enumeration value="max"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RecordType">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="active" type="xsd:boolean"/>
       <xsd:element name="picklistValues" minOccurs="0" maxOccurs="unbounded" type="tns:RecordTypePicklistValue"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="RecordTypePicklistValue">
    <xsd:sequence>
     <xsd:element name="picklist" type="xsd:string"/>
     <xsd:element name="values" minOccurs="0" maxOccurs="unbounded" type="tns:PicklistValue"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ValidationRule">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="active" type="xsd:boolean"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="errorConditionFormula" type="xsd:string"/>
       <xsd:element name="errorDisplayField" minOccurs="0" type="xsd:string"/>
       <xsd:element name="errorMessage" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="WebLink">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="availability" type="tns:WebLinkAvailability"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="displayType" type="tns:WebLinkDisplayType"/>
       <xsd:element name="hasMenubar" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="hasScrollbars" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="hasToolbar" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="height" minOccurs="0" type="xsd:int"/>
       <xsd:element name="isResizable" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="linkType" type="tns:WebLinkType"/>
       <xsd:element name="masterLabel" minOccurs="0" type="xsd:string"/>
       <xsd:element name="openType" type="tns:WebLinkWindowType"/>
       <xsd:element name="position" minOccurs="0" type="tns:WebLinkPosition"/>
       <xsd:element name="requireRowSelection" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="scontrol" minOccurs="0" type="xsd:string"/>
       <xsd:element name="showsLocation" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="showsStatus" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="url" minOccurs="0" type="xsd:string"/>
       <xsd:element name="width" minOccurs="0" type="xsd:int"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="WebLinkAvailability">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="online"/>
     <xsd:enumeration value="offline"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="WebLinkType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="url"/>
     <xsd:enumeration value="sControl"/>
     <xsd:enumeration value="javascript"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="Layout">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="customButtons" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="emailDefault" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="excludeButtons" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="headers" minOccurs="0" maxOccurs="unbounded" type="tns:LayoutHeader"/>
       <xsd:element name="layoutSections" minOccurs="0" maxOccurs="unbounded" type="tns:LayoutSection"/>
       <xsd:element name="miniLayout" minOccurs="0" type="tns:MiniLayout"/>
       <xsd:element name="multilineLayoutFields" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="relatedLists" minOccurs="0" maxOccurs="unbounded" type="tns:RelatedListItem"/>
       <xsd:element name="relatedObjects" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="runAssignmentRulesDefault" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="showEmailCheckbox" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="showRunAssignmentRulesCheckbox" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="showSolutionSection" minOccurs="0" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="LayoutSection">
    <xsd:sequence>
     <xsd:element name="customLabel" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="detailHeading" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="editHeading" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="label" minOccurs="0" type="xsd:string"/>
     <xsd:element name="layoutColumns" minOccurs="0" maxOccurs="unbounded" type="tns:LayoutColumn"/>
     <xsd:element name="style" type="tns:LayoutSectionStyle"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="LayoutColumn">
    <xsd:sequence>
     <xsd:element name="layoutItems" minOccurs="0" maxOccurs="unbounded" type="tns:LayoutItem"/>
     <xsd:element name="reserved" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="LayoutItem">
    <xsd:sequence>
     <xsd:element name="behavior" minOccurs="0" type="tns:UiBehavior"/>
     <xsd:element name="customLink" minOccurs="0" type="xsd:string"/>
     <xsd:element name="field" minOccurs="0" type="xsd:string"/>
     <xsd:element name="height" minOccurs="0" type="xsd:int"/>
     <xsd:element name="page" minOccurs="0" type="xsd:string"/>
     <xsd:element name="scontrol" minOccurs="0" type="xsd:string"/>
     <xsd:element name="showLabel" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="showScrollbars" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="width" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="MiniLayout">
    <xsd:sequence>
     <xsd:element name="fields" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="relatedLists" minOccurs="0" maxOccurs="unbounded" type="tns:RelatedListItem"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="RelatedListItem">
    <xsd:sequence>
     <xsd:element name="excludeButtons" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="fields" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="relatedList" type="xsd:string"/>
     <xsd:element name="sortField" minOccurs="0" type="xsd:string"/>
     <xsd:element name="sortOrder" minOccurs="0" type="tns:SortOrder"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="Document">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="internalUseOnly" type="xsd:boolean"/>
       <xsd:element name="keywords" minOccurs="0" type="xsd:string"/>
       <xsd:element name="public" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="DocumentFolder">
    <xsd:complexContent>
     <xsd:extension base="tns:Folder">
      <xsd:sequence/>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="FolderAccessTypes">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Shared"/>
     <xsd:enumeration value="Public"/>
     <xsd:enumeration value="Hidden"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CustomPageWebLink">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="availability" type="tns:WebLinkAvailability"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="displayType" type="tns:WebLinkDisplayType"/>
       <xsd:element name="hasMenubar" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="hasScrollbars" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="hasToolbar" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="height" minOccurs="0" type="xsd:int"/>
       <xsd:element name="isResizable" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="linkType" type="tns:WebLinkType"/>
       <xsd:element name="masterLabel" minOccurs="0" type="xsd:string"/>
       <xsd:element name="openType" type="tns:WebLinkWindowType"/>
       <xsd:element name="position" minOccurs="0" type="tns:WebLinkPosition"/>
       <xsd:element name="requireRowSelection" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="scontrol" minOccurs="0" type="xsd:string"/>
       <xsd:element name="showsLocation" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="showsStatus" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="url" minOccurs="0" type="xsd:string"/>
       <xsd:element name="width" minOccurs="0" type="xsd:int"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CustomTab">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="customObject" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="frameHeight" minOccurs="0" type="xsd:int"/>
       <xsd:element name="hasSidebar" minOccurs="0" type="xsd:boolean"/>
       <xsd:element name="label" minOccurs="0" type="xsd:string"/>
       <xsd:element name="motif" type="xsd:string"/>
       <xsd:element name="page" minOccurs="0" type="xsd:string"/>
       <xsd:element name="scontrol" minOccurs="0" type="xsd:string"/>
       <xsd:element name="splashPageLink" minOccurs="0" type="xsd:string"/>
       <xsd:element name="url" minOccurs="0" type="xsd:string"/>
       <xsd:element name="urlEncodingKey" minOccurs="0" type="tns:Encoding"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CustomApplication">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="defaultLandingTab" minOccurs="0" type="xsd:string"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="label" type="xsd:string"/>
       <xsd:element name="logo" minOccurs="0" type="xsd:string"/>
       <xsd:element name="tab" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="Letterhead">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="available" type="xsd:boolean"/>
       <xsd:element name="backgroundColor" type="xsd:string"/>
       <xsd:element name="bodyColor" type="xsd:string"/>
       <xsd:element name="bottomLine" type="tns:LetterheadLine"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="footer" type="tns:LetterheadHeaderFooter"/>
       <xsd:element name="header" type="tns:LetterheadHeaderFooter"/>
       <xsd:element name="middleLine" type="tns:LetterheadLine"/>
       <xsd:element name="name" type="xsd:string"/>
       <xsd:element name="topLine" type="tns:LetterheadLine"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="LetterheadLine">
    <xsd:sequence>
     <xsd:element name="color" type="xsd:string"/>
     <xsd:element name="height" type="xsd:int"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="LetterheadHeaderFooter">
    <xsd:sequence>
     <xsd:element name="backgroundColor" type="xsd:string"/>
     <xsd:element name="height" type="xsd:int"/>
     <xsd:element name="horizontalAlignment" minOccurs="0" type="tns:LetterheadHorizontalAlignment"/>
     <xsd:element name="logo" minOccurs="0" type="xsd:string"/>
     <xsd:element name="verticalAlignment" minOccurs="0" type="tns:LetterheadVerticalAlignment"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="EmailTemplateType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="text"/>
     <xsd:enumeration value="html"/>
     <xsd:enumeration value="custom"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="EmailTemplateStyle">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="none"/>
     <xsd:enumeration value="freeForm"/>
     <xsd:enumeration value="formalLetter"/>
     <xsd:enumeration value="promotionRight"/>
     <xsd:enumeration value="promotionLeft"/>
     <xsd:enumeration value="newsletter"/>
     <xsd:enumeration value="products"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EmailTemplate">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="available" type="xsd:boolean"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="encodingKey" type="tns:Encoding"/>
       <xsd:element name="letterhead" minOccurs="0" type="xsd:string"/>
       <xsd:element name="style" type="tns:EmailTemplateStyle"/>
       <xsd:element name="subject" minOccurs="0" type="xsd:string"/>
       <xsd:element name="textOnly" minOccurs="0" type="xsd:string"/>
       <xsd:element name="type" type="tns:EmailTemplateType"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="EmailFolder">
    <xsd:complexContent>
     <xsd:extension base="tns:Folder">
      <xsd:sequence/>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="Workflow">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="alerts" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowAlert"/>
       <xsd:element name="fieldUpdates" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowFieldUpdate"/>
       <xsd:element name="outboundMessages" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowOutboundMessage"/>
       <xsd:element name="rules" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowRule"/>
       <xsd:element name="tasks" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowTask"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="WorkflowAlert">
    <xsd:complexContent>
     <xsd:extension base="tns:WorkflowAction">
      <xsd:sequence>
       <xsd:element name="ccEmails" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="recipients" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowEmailRecipient"/>
       <xsd:element name="template" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="WorkflowEmailRecipient">
    <xsd:sequence>
     <xsd:element name="field" minOccurs="0" type="xsd:string"/>
     <xsd:element name="recipient" minOccurs="0" type="xsd:string"/>
     <xsd:element name="type" type="tns:ActionEmailRecipientTypes"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="ActionEmailRecipientTypes">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="group"/>
     <xsd:enumeration value="role"/>
     <xsd:enumeration value="user"/>
     <xsd:enumeration value="opportunityTeam"/>
     <xsd:enumeration value="accountTeam"/>
     <xsd:enumeration value="roleSubordinates"/>
     <xsd:enumeration value="owner"/>
     <xsd:enumeration value="creator"/>
     <xsd:enumeration value="partnerUser"/>
     <xsd:enumeration value="accountOwner"/>
     <xsd:enumeration value="customerPortalUser"/>
     <xsd:enumeration value="portalRole"/>
     <xsd:enumeration value="portalRoleSubordinates"/>
     <xsd:enumeration value="contactLookup"/>
     <xsd:enumeration value="userLookup"/>
     <xsd:enumeration value="roleSubordinatesInternal"/>
     <xsd:enumeration value="email"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="WorkflowFieldUpdate">
    <xsd:complexContent>
     <xsd:extension base="tns:WorkflowAction">
      <xsd:sequence>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="field" type="xsd:string"/>
       <xsd:element name="formula" minOccurs="0" type="xsd:string"/>
       <xsd:element name="literalValue" minOccurs="0" type="xsd:string"/>
       <xsd:element name="lookupValue" minOccurs="0" type="xsd:string"/>
       <xsd:element name="lookupValueType" minOccurs="0" type="tns:LookupValueType"/>
       <xsd:element name="notifyAssignee" type="xsd:boolean"/>
       <xsd:element name="operation" type="tns:FieldUpdateOperation"/>
       <xsd:element name="sourceField" minOccurs="0" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="FieldUpdateOperation">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Formula"/>
     <xsd:enumeration value="Literal"/>
     <xsd:enumeration value="Null"/>
     <xsd:enumeration value="NextValue"/>
     <xsd:enumeration value="PreviousValue"/>
     <xsd:enumeration value="LookupValue"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="WorkflowOutboundMessage">
    <xsd:complexContent>
     <xsd:extension base="tns:WorkflowAction">
      <xsd:sequence>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="endpointUrl" type="xsd:string"/>
       <xsd:element name="fields" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="includeSessionId" type="xsd:boolean"/>
       <xsd:element name="integrationUser" type="xsd:string"/>
       <xsd:element name="useDeadLetterQueue" minOccurs="0" type="xsd:boolean"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="WorkflowRule">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="actions" minOccurs="0" maxOccurs="unbounded" type="tns:WorkflowActionReference"/>
       <xsd:element name="active" type="xsd:boolean"/>
       <xsd:element name="booleanFilter" minOccurs="0" type="xsd:string"/>
       <xsd:element name="criteriaItems" minOccurs="0" maxOccurs="unbounded" type="tns:FilterItem"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="formula" minOccurs="0" type="xsd:string"/>
       <xsd:element name="triggerType" type="tns:WorkflowTriggerTypes"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="WorkflowActionReference">
    <xsd:sequence>
     <xsd:element name="name" type="xsd:string"/>
     <xsd:element name="type" type="tns:WorkflowActionType"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="WorkflowTriggerTypes">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="onCreateOnly"/>
     <xsd:enumeration value="onCreateOrTriggeringUpdate"/>
     <xsd:enumeration value="onAllChanges"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="WorkflowTask">
    <xsd:complexContent>
     <xsd:extension base="tns:WorkflowAction">
      <xsd:sequence>
       <xsd:element name="assignedTo" minOccurs="0" type="xsd:string"/>
       <xsd:element name="assignedToType" type="tns:ActionTaskAssignedToTypes"/>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="dueDateOffset" type="xsd:int"/>
       <xsd:element name="notifyAssignee" type="xsd:boolean"/>
       <xsd:element name="offsetFromField" minOccurs="0" type="xsd:string"/>
       <xsd:element name="priority" type="xsd:string"/>
       <xsd:element name="status" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="ActionTaskAssignedToTypes">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="user"/>
     <xsd:enumeration value="role"/>
     <xsd:enumeration value="opportunityTeam"/>
     <xsd:enumeration value="accountTeam"/>
     <xsd:enumeration value="owner"/>
     <xsd:enumeration value="accountOwner"/>
     <xsd:enumeration value="creator"/>
     <xsd:enumeration value="accountCreator"/>
     <xsd:enumeration value="partnerUser"/>
     <xsd:enumeration value="portalRole"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="Profile">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="applicationVisibilities" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileApplicationVisibility"/>
       <xsd:element name="fieldLevelSecurities" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileFieldLevelSecurity"/>
       <xsd:element name="layoutAssingments" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileLayoutAssignment"/>
       <xsd:element name="objectPermissions" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileObjectPermissions"/>
       <xsd:element name="recordTypeVisibilities" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileRecordTypeVisibility"/>
       <xsd:element name="tabVisibilities" minOccurs="0" maxOccurs="unbounded" type="tns:ProfileTabVisibility"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="ProfileApplicationVisibility">
    <xsd:sequence>
     <xsd:element name="application" type="xsd:string"/>
     <xsd:element name="default" type="xsd:boolean"/>
     <xsd:element name="visible" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ProfileFieldLevelSecurity">
    <xsd:sequence>
     <xsd:element name="editable" type="xsd:boolean"/>
     <xsd:element name="field" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ProfileLayoutAssignment">
    <xsd:sequence>
     <xsd:element name="layout" type="xsd:string"/>
     <xsd:element name="recordType" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ProfileObjectPermissions">
    <xsd:sequence>
     <xsd:element name="object" type="xsd:string"/>
     <xsd:element name="revokeCreate" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="revokeDelete" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="revokeEdit" minOccurs="0" type="xsd:boolean"/>
     <xsd:element name="revokeRead" minOccurs="0" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ProfileRecordTypeVisibility">
    <xsd:sequence>
     <xsd:element name="default" type="xsd:boolean"/>
     <xsd:element name="recordType" type="xsd:string"/>
     <xsd:element name="visible" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ProfileTabVisibility">
    <xsd:sequence>
     <xsd:element name="tab" type="xsd:string"/>
     <xsd:element name="visibility" type="tns:TabVisibility"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="HomePageComponent">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="body" minOccurs="0" type="xsd:string"/>
       <xsd:element name="links" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="pageComponentType" type="tns:PageComponentType"/>
       <xsd:element name="width" minOccurs="0" type="tns:PageComponentWidth"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="HomePageLayout">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="narrowComponents" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
       <xsd:element name="wideComponents" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="ApexClass">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="apiVersion" type="xsd:double"/>
       <xsd:element name="status" type="tns:ApexCodeUnitStatus"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="ApexCodeUnitStatus">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Inactive"/>
     <xsd:enumeration value="Active"/>
     <xsd:enumeration value="Deleted"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ApexTrigger">
    <xsd:complexContent>
     <xsd:extension base="tns:MetadataWithContent">
      <xsd:sequence>
       <xsd:element name="apiVersion" type="xsd:double"/>
       <xsd:element name="status" type="tns:ApexCodeUnitStatus"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="Package">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="description" minOccurs="0" type="xsd:string"/>
       <xsd:element name="types" minOccurs="0" maxOccurs="unbounded" type="tns:PackageTypeMembers"/>
       <xsd:element name="version" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="PackageTypeMembers">
    <xsd:sequence>
     <xsd:element name="members" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="name" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="CustomSettingsType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="List"/>
     <xsd:enumeration value="Hierarchy"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DeployOptions">
    <xsd:sequence>
     <xsd:element name="allowMissingFiles" type="xsd:boolean"/>
     <xsd:element name="autoUpdatePackage" type="xsd:boolean"/>
     <xsd:element name="checkOnly" type="xsd:boolean"/>
     <xsd:element name="performRetrieve" type="xsd:boolean"/>
     <xsd:element name="rollbackOnError" type="xsd:boolean"/>
     <xsd:element name="runAllTests" type="xsd:boolean"/>
     <xsd:element name="runTests" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="singlePackage" type="xsd:boolean"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="DeploymentStatus">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="InDevelopment"/>
     <xsd:enumeration value="Deployed"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="FieldType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="AutoNumber"/>
     <xsd:enumeration value="Lookup"/>
     <xsd:enumeration value="MasterDetail"/>
     <xsd:enumeration value="Checkbox"/>
     <xsd:enumeration value="Currency"/>
     <xsd:enumeration value="Date"/>
     <xsd:enumeration value="DateTime"/>
     <xsd:enumeration value="Email"/>
     <xsd:enumeration value="Number"/>
     <xsd:enumeration value="Percent"/>
     <xsd:enumeration value="Phone"/>
     <xsd:enumeration value="Picklist"/>
     <xsd:enumeration value="MultiselectPicklist"/>
     <xsd:enumeration value="Text"/>
     <xsd:enumeration value="TextArea"/>
     <xsd:enumeration value="LongTextArea"/>
     <xsd:enumeration value="Url"/>
     <xsd:enumeration value="EncryptedText"/>
     <xsd:enumeration value="Summary"/>
     <xsd:enumeration value="Hierarchy"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="FilterOperation">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="equals"/>
     <xsd:enumeration value="notEqual"/>
     <xsd:enumeration value="lessThan"/>
     <xsd:enumeration value="greaterThan"/>
     <xsd:enumeration value="lessOrEqual"/>
     <xsd:enumeration value="greaterOrEqual"/>
     <xsd:enumeration value="contains"/>
     <xsd:enumeration value="notContain"/>
     <xsd:enumeration value="startsWith"/>
     <xsd:enumeration value="includes"/>
     <xsd:enumeration value="excludes"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="Folder">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="accessType" type="tns:FolderAccessTypes"/>
       <xsd:element name="name" type="xsd:string"/>
       <xsd:element name="publicFolderAccess" minOccurs="0" type="tns:PublicFolderAccess"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="Metadata">
    <xsd:sequence>
     <xsd:element name="fullName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="PublicFolderAccess">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="ReadOnly"/>
     <xsd:enumeration value="ReadWrite"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="Gender">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Neuter"/>
     <xsd:enumeration value="Masculine"/>
     <xsd:enumeration value="Feminine"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LayoutHeader">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="PersonalTagging"/>
     <xsd:enumeration value="PublicTagging"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LayoutSectionStyle">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="TwoColumnsTopToBottom"/>
     <xsd:enumeration value="TwoColumnsLeftToRight"/>
     <xsd:enumeration value="OneColumn"/>
     <xsd:enumeration value="CustomLinks"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LetterheadHorizontalAlignment">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="None"/>
     <xsd:enumeration value="Left"/>
     <xsd:enumeration value="Center"/>
     <xsd:enumeration value="Right"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LetterheadVerticalAlignment">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="None"/>
     <xsd:enumeration value="Top"/>
     <xsd:enumeration value="Middle"/>
     <xsd:enumeration value="Bottom"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LogCategory">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Db"/>
     <xsd:enumeration value="Workflow"/>
     <xsd:enumeration value="Validation"/>
     <xsd:enumeration value="Callout"/>
     <xsd:enumeration value="Apex_code"/>
     <xsd:enumeration value="Apex_profiling"/>
     <xsd:enumeration value="All"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LogCategoryLevel">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Internal"/>
     <xsd:enumeration value="Finest"/>
     <xsd:enumeration value="Finer"/>
     <xsd:enumeration value="Fine"/>
     <xsd:enumeration value="Debug"/>
     <xsd:enumeration value="Info"/>
     <xsd:enumeration value="Warn"/>
     <xsd:enumeration value="Error"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="LogInfo">
    <xsd:sequence>
     <xsd:element name="category" type="tns:LogCategory"/>
     <xsd:element name="level" type="tns:LogCategoryLevel"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="LogType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="None"/>
     <xsd:enumeration value="Debugonly"/>
     <xsd:enumeration value="Db"/>
     <xsd:enumeration value="Profiling"/>
     <xsd:enumeration value="Callout"/>
     <xsd:enumeration value="Detail"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LookupValueType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="User"/>
     <xsd:enumeration value="Queue"/>
     <xsd:enumeration value="RecordType"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MetadataWithContent">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence>
       <xsd:element name="content" minOccurs="0" type="xsd:base64Binary"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="PageComponentType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="links"/>
     <xsd:enumeration value="htmlArea"/>
     <xsd:enumeration value="imageOrNote"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="PageComponentWidth">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="narrow"/>
     <xsd:enumeration value="wide"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RetrieveRequest">
    <xsd:sequence>
     <xsd:element name="apiVersion" type="xsd:double"/>
     <xsd:element name="packageNames" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="singlePackage" type="xsd:boolean"/>
     <xsd:element name="specificFiles" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
     <xsd:element name="unpackaged" minOccurs="0" type="tns:Package"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="SharingModel">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Private"/>
     <xsd:enumeration value="Read"/>
     <xsd:enumeration value="ReadWrite"/>
     <xsd:enumeration value="ReadWriteTransfer"/>
     <xsd:enumeration value="FullAccess"/>
     <xsd:enumeration value="ControlledByParent"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="SortOrder">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Asc"/>
     <xsd:enumeration value="Desc"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="StartsWith">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Consonant"/>
     <xsd:enumeration value="Vowel"/>
     <xsd:enumeration value="Special"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="TabVisibility">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Hidden"/>
     <xsd:enumeration value="DefaultOff"/>
     <xsd:enumeration value="DefaultOn"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="TreatBlanksAs">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="BlankAsBlank"/>
     <xsd:enumeration value="BlankAsZero"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="UiBehavior">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Edit"/>
     <xsd:enumeration value="Required"/>
     <xsd:enumeration value="Readonly"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="UpdateMetadata">
    <xsd:sequence>
     <xsd:element name="currentName" type="xsd:string"/>
     <xsd:element name="metadata" type="tns:Metadata"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="WebLinkDisplayType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="link"/>
     <xsd:enumeration value="button"/>
     <xsd:enumeration value="massActionButton"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="WebLinkPosition">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="fullScreen"/>
     <xsd:enumeration value="none"/>
     <xsd:enumeration value="topLeft"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="WebLinkWindowType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="newWindow"/>
     <xsd:enumeration value="sidebar"/>
     <xsd:enumeration value="noSidebar"/>
     <xsd:enumeration value="replace"/>
     <xsd:enumeration value="onClickJavaScript"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="WorkflowAction">
    <xsd:complexContent>
     <xsd:extension base="tns:Metadata">
      <xsd:sequence/>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:simpleType name="WorkflowActionType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Task"/>
     <xsd:enumeration value="Alert"/>
     <xsd:enumeration value="FieldUpdate"/>
     <xsd:enumeration value="OutboundMessage"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name="SessionHeader">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="sessionId" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="DebuggingHeader">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="categories" minOccurs="0" maxOccurs="unbounded" type="tns:LogInfo"/>
      <xsd:element name="debugLevel" type="tns:LogType"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="CallOptions">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="client" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:simpleType name="ID">
    <xsd:restriction base="xsd:string">
     <xsd:length value="18"/>
     <xsd:pattern value="[a-zA-Z0-9]{18}"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="StatusCode">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="ALREADY_IN_PROCESS"/>
     <xsd:enumeration value="ASSIGNEE_TYPE_REQUIRED"/>
     <xsd:enumeration value="BAD_CUSTOM_ENTITY_PARENT_DOMAIN"/>
     <xsd:enumeration value="BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED"/>
     <xsd:enumeration value="CANNOT_CASCADE_PRODUCT_ACTIVE"/>
     <xsd:enumeration value="CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD"/>
     <xsd:enumeration value="CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE"/>
     <xsd:enumeration value="CANNOT_DEACTIVATE_DIVISION"/>
     <xsd:enumeration value="CANNOT_DELETE_LAST_DATED_CONVERSION_RATE"/>
     <xsd:enumeration value="CANNOT_DELETE_MANAGED_OBJECT"/>
     <xsd:enumeration value="CANNOT_DISABLE_LAST_ADMIN"/>
     <xsd:enumeration value="CANNOT_ENABLE_IP_RESTRICT_REQUESTS"/>
     <xsd:enumeration value="CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY"/>
     <xsd:enumeration value="CANNOT_MODIFY_MANAGED_OBJECT"/>
     <xsd:enumeration value="CANNOT_RENAME_APEX_REFERENCED_FIELD"/>
     <xsd:enumeration value="CANNOT_RENAME_APEX_REFERENCED_OBJECT"/>
     <xsd:enumeration value="CANNOT_REPARENT_RECORD"/>
     <xsd:enumeration value="CANNOT_UPDATE_CONVERTED_LEAD"/>
     <xsd:enumeration value="CANT_DISABLE_CORP_CURRENCY"/>
     <xsd:enumeration value="CANT_UNSET_CORP_CURRENCY"/>
     <xsd:enumeration value="CHILD_SHARE_FAILS_PARENT"/>
     <xsd:enumeration value="CIRCULAR_DEPENDENCY"/>
     <xsd:enumeration value="CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="CUSTOM_ENTITY_OR_FIELD_LIMIT"/>
     <xsd:enumeration value="CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="CUSTOM_INDEX_EXISTS"/>
     <xsd:enumeration value="CUSTOM_LINK_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="CUSTOM_TAB_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="DELETE_FAILED"/>
     <xsd:enumeration value="DELETE_REQUIRED_ON_CASCADE"/>
     <xsd:enumeration value="DEPENDENCY_EXISTS"/>
     <xsd:enumeration value="DUPLICATE_CASE_SOLUTION"/>
     <xsd:enumeration value="DUPLICATE_CUSTOM_ENTITY_DEFINITION"/>
     <xsd:enumeration value="DUPLICATE_CUSTOM_TAB_MOTIF"/>
     <xsd:enumeration value="DUPLICATE_DEVELOPER_NAME"/>
     <xsd:enumeration value="DUPLICATE_EXTERNAL_ID"/>
     <xsd:enumeration value="DUPLICATE_MASTER_LABEL"/>
     <xsd:enumeration value="DUPLICATE_USERNAME"/>
     <xsd:enumeration value="DUPLICATE_VALUE"/>
     <xsd:enumeration value="EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR"/>
     <xsd:enumeration value="EMPTY_SCONTROL_FILE_NAME"/>
     <xsd:enumeration value="ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE"/>
     <xsd:enumeration value="ENTITY_IS_ARCHIVED"/>
     <xsd:enumeration value="ENTITY_IS_DELETED"/>
     <xsd:enumeration value="ENTITY_IS_LOCKED"/>
     <xsd:enumeration value="ERROR_IN_MAILER"/>
     <xsd:enumeration value="FAILED_ACTIVATION"/>
     <xsd:enumeration value="FIELD_CUSTOM_VALIDATION_EXCEPTION"/>
     <xsd:enumeration value="FIELD_INTEGRITY_EXCEPTION"/>
     <xsd:enumeration value="HTML_FILE_UPLOAD_NOT_ALLOWED"/>
     <xsd:enumeration value="IMAGE_TOO_LARGE"/>
     <xsd:enumeration value="INACTIVE_OWNER_OR_USER"/>
     <xsd:enumeration value="INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"/>
     <xsd:enumeration value="INSUFFICIENT_ACCESS_OR_READONLY"/>
     <xsd:enumeration value="INVALID_ACCESS_LEVEL"/>
     <xsd:enumeration value="INVALID_ARGUMENT_TYPE"/>
     <xsd:enumeration value="INVALID_ASSIGNEE_TYPE"/>
     <xsd:enumeration value="INVALID_ASSIGNMENT_RULE"/>
     <xsd:enumeration value="INVALID_BATCH_OPERATION"/>
     <xsd:enumeration value="INVALID_CREDIT_CARD_INFO"/>
     <xsd:enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
     <xsd:enumeration value="INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD"/>
     <xsd:enumeration value="INVALID_CURRENCY_CONV_RATE"/>
     <xsd:enumeration value="INVALID_CURRENCY_CORP_RATE"/>
     <xsd:enumeration value="INVALID_CURRENCY_ISO"/>
     <xsd:enumeration value="INVALID_EMAIL_ADDRESS"/>
     <xsd:enumeration value="INVALID_EMPTY_KEY_OWNER"/>
     <xsd:enumeration value="INVALID_FIELD"/>
     <xsd:enumeration value="INVALID_FIELD_FOR_INSERT_UPDATE"/>
     <xsd:enumeration value="INVALID_FIELD_WHEN_USING_TEMPLATE"/>
     <xsd:enumeration value="INVALID_FILTER_ACTION"/>
     <xsd:enumeration value="INVALID_GOOGLE_DOCS_URL"/>
     <xsd:enumeration value="INVALID_ID_FIELD"/>
     <xsd:enumeration value="INVALID_INET_ADDRESS"/>
     <xsd:enumeration value="INVALID_LINEITEM_CLONE_STATE"/>
     <xsd:enumeration value="INVALID_MASTER_OR_TRANSLATED_SOLUTION"/>
     <xsd:enumeration value="INVALID_OPERATION"/>
     <xsd:enumeration value="INVALID_OPERATOR"/>
     <xsd:enumeration value="INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"/>
     <xsd:enumeration value="INVALID_PARTNER_NETWORK_STATUS"/>
     <xsd:enumeration value="INVALID_PERSON_ACCOUNT_OPERATION"/>
     <xsd:enumeration value="INVALID_SAVE_AS_ACTIVITY_FLAG"/>
     <xsd:enumeration value="INVALID_SESSION_ID"/>
     <xsd:enumeration value="INVALID_SETUP_OWNER"/>
     <xsd:enumeration value="INVALID_STATUS"/>
     <xsd:enumeration value="INVALID_TYPE"/>
     <xsd:enumeration value="INVALID_TYPE_FOR_OPERATION"/>
     <xsd:enumeration value="INVALID_TYPE_ON_FIELD_IN_RECORD"/>
     <xsd:enumeration value="IP_RANGE_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="LICENSE_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="LIMIT_EXCEEDED"/>
     <xsd:enumeration value="MALFORMED_ID"/>
     <xsd:enumeration value="MANAGER_NOT_DEFINED"/>
     <xsd:enumeration value="MASSMAIL_RETRY_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="MASS_MAIL_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="MAXIMUM_CCEMAILS_EXCEEDED"/>
     <xsd:enumeration value="MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED"/>
     <xsd:enumeration value="MAXIMUM_HIERARCHY_LEVELS_REACHED"/>
     <xsd:enumeration value="MAXIMUM_SIZE_OF_ATTACHMENT"/>
     <xsd:enumeration value="MAXIMUM_SIZE_OF_DOCUMENT"/>
     <xsd:enumeration value="MAX_ACTIONS_PER_RULE_EXCEEDED"/>
     <xsd:enumeration value="MAX_ACTIVE_RULES_EXCEEDED"/>
     <xsd:enumeration value="MAX_APPROVAL_STEPS_EXCEEDED"/>
     <xsd:enumeration value="MAX_FORMULAS_PER_RULE_EXCEEDED"/>
     <xsd:enumeration value="MAX_RULES_EXCEEDED"/>
     <xsd:enumeration value="MAX_RULE_ENTRIES_EXCEEDED"/>
     <xsd:enumeration value="MAX_TASK_DESCRIPTION_EXCEEEDED"/>
     <xsd:enumeration value="MAX_TM_RULES_EXCEEDED"/>
     <xsd:enumeration value="MAX_TM_RULE_ITEMS_EXCEEDED"/>
     <xsd:enumeration value="MERGE_FAILED"/>
     <xsd:enumeration value="MISSING_ARGUMENT"/>
     <xsd:enumeration value="MIXED_DML_OPERATION"/>
     <xsd:enumeration value="NONUNIQUE_SHIPPING_ADDRESS"/>
     <xsd:enumeration value="NO_APPLICABLE_PROCESS"/>
     <xsd:enumeration value="NO_ATTACHMENT_PERMISSION"/>
     <xsd:enumeration value="NO_MASS_MAIL_PERMISSION"/>
     <xsd:enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
     <xsd:enumeration value="NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED"/>
     <xsd:enumeration value="OPTED_OUT_OF_MASS_MAIL"/>
     <xsd:enumeration value="PACKAGE_LICENSE_REQUIRED"/>
     <xsd:enumeration value="PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT"/>
     <xsd:enumeration value="PRIVATE_CONTACT_ON_ASSET"/>
     <xsd:enumeration value="RECORD_IN_USE_BY_WORKFLOW"/>
     <xsd:enumeration value="REQUEST_RUNNING_TOO_LONG"/>
     <xsd:enumeration value="REQUIRED_FIELD_MISSING"/>
     <xsd:enumeration value="SELF_REFERENCE_FROM_TRIGGER"/>
     <xsd:enumeration value="SHARE_NEEDED_FOR_CHILD_OWNER"/>
     <xsd:enumeration value="STANDARD_PRICE_NOT_DEFINED"/>
     <xsd:enumeration value="STORAGE_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="STRING_TOO_LONG"/>
     <xsd:enumeration value="TABSET_LIMIT_EXCEEDED"/>
     <xsd:enumeration value="TEMPLATE_NOT_ACTIVE"/>
     <xsd:enumeration value="TERRITORY_REALIGN_IN_PROGRESS"/>
     <xsd:enumeration value="TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET"/>
     <xsd:enumeration value="TOO_MANY_APEX_REQUESTS"/>
     <xsd:enumeration value="TOO_MANY_ENUM_VALUE"/>
     <xsd:enumeration value="TRANSFER_REQUIRES_READ"/>
     <xsd:enumeration value="UNABLE_TO_LOCK_ROW"/>
     <xsd:enumeration value="UNAVAILABLE_RECORDTYPE_EXCEPTION"/>
     <xsd:enumeration value="UNDELETE_FAILED"/>
     <xsd:enumeration value="UNKNOWN_EXCEPTION"/>
     <xsd:enumeration value="UNSPECIFIED_EMAIL_ADDRESS"/>
     <xsd:enumeration value="UNSUPPORTED_APEX_TRIGGER_OPERATON"/>
     <xsd:enumeration value="WEBLINK_SIZE_LIMIT_EXCEEDED"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name="checkDeployStatus">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="asyncProcessId" type="tns:ID"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="checkDeployStatusResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:DeployResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="checkRetrieveStatus">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="asyncProcessId" type="tns:ID"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="checkRetrieveStatusResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:RetrieveResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="checkStatus">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="asyncProcessId" minOccurs="0" maxOccurs="unbounded" type="tns:ID"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="checkStatusResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" minOccurs="0" maxOccurs="unbounded" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="create">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="metadata" minOccurs="0" maxOccurs="unbounded" type="tns:Metadata"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="createResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" minOccurs="0" maxOccurs="unbounded" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="delete">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="metadata" minOccurs="0" maxOccurs="unbounded" type="tns:Metadata"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="deleteResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" minOccurs="0" maxOccurs="unbounded" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="deploy">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="ZipFile" type="xsd:base64Binary"/>
      <xsd:element name="DeployOptions" type="tns:DeployOptions"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="deployResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="describeMetadata">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="asOfVersion" type="xsd:double"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="describeMetadataResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:DescribeMetadataResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="retrieve">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="retrieveRequest" type="tns:RetrieveRequest"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="retrieveResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="update">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="UpdateMetadata" minOccurs="0" maxOccurs="unbounded" type="tns:UpdateMetadata"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="updateResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" minOccurs="0" maxOccurs="unbounded" type="tns:AsyncResult"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:schema>
 </types>
 <!-- Message for the header parts -->
 <message name="Header">
  <part name="CallOptions" element="tns:CallOptions"/>
  <part name="DebuggingHeader" element="tns:DebuggingHeader"/>
  <part name="DebuggingInfo" element="tns:DebuggingInfo"/>
  <part name="SessionHeader" element="tns:SessionHeader"/>
 </message>
 <!-- Operation Messages -->
 <message name="checkDeployStatusRequest">
  <part element="tns:checkDeployStatus" name="parameters"/>
 </message>
 <message name="checkDeployStatusResponse">
  <part element="tns:checkDeployStatusResponse" name="parameters"/>
 </message>
 <message name="checkRetrieveStatusRequest">
  <part element="tns:checkRetrieveStatus" name="parameters"/>
 </message>
 <message name="checkRetrieveStatusResponse">
  <part element="tns:checkRetrieveStatusResponse" name="parameters"/>
 </message>
 <message name="checkStatusRequest">
  <part element="tns:checkStatus" name="parameters"/>
 </message>
 <message name="checkStatusResponse">
  <part element="tns:checkStatusResponse" name="parameters"/>
 </message>
 <message name="createRequest">
  <part element="tns:create" name="parameters"/>
 </message>
 <message name="createResponse">
  <part element="tns:createResponse" name="parameters"/>
 </message>
 <message name="deleteRequest">
  <part element="tns:delete" name="parameters"/>
 </message>
 <message name="deleteResponse">
  <part element="tns:deleteResponse" name="parameters"/>
 </message>
 <message name="deployRequest">
  <part element="tns:deploy" name="parameters"/>
 </message>
 <message name="deployResponse">
  <part element="tns:deployResponse" name="parameters"/>
 </message>
 <message name="describeMetadataRequest">
  <part element="tns:describeMetadata" name="parameters"/>
 </message>
 <message name="describeMetadataResponse">
  <part element="tns:describeMetadataResponse" name="parameters"/>
 </message>
 <message name="retrieveRequest">
  <part element="tns:retrieve" name="parameters"/>
 </message>
 <message name="retrieveResponse">
  <part element="tns:retrieveResponse" name="parameters"/>
 </message>
 <message name="updateRequest">
  <part element="tns:update" name="parameters"/>
 </message>
 <message name="updateResponse">
  <part element="tns:updateResponse" name="parameters"/>
 </message>
 <portType name="MetadataPortType">
  <operation name="checkDeployStatus">
   <documentation>Check the current status of an asyncronous deploy call.</documentation>
   <input message="tns:checkDeployStatusRequest"/>
   <output message="tns:checkDeployStatusResponse"/>
  </operation>
  <operation name="checkRetrieveStatus">
   <documentation>Check the current status of an asyncronous deploy call.</documentation>
   <input message="tns:checkRetrieveStatusRequest"/>
   <output message="tns:checkRetrieveStatusResponse"/>
  </operation>
  <operation name="checkStatus">
   <documentation>Check the current status of an asyncronous call.</documentation>
   <input message="tns:checkStatusRequest"/>
   <output message="tns:checkStatusResponse"/>
  </operation>
  <operation name="create">
   <documentation>Creates new metadata entries asyncronously.</documentation>
   <input message="tns:createRequest"/>
   <output message="tns:createResponse"/>
  </operation>
  <operation name="delete">
   <documentation>Deletes metadata entries asyncronously.</documentation>
   <input message="tns:deleteRequest"/>
   <output message="tns:deleteResponse"/>
  </operation>
  <operation name="deploy">
   <documentation>Deploys a zipfile full of metadata entries asynchronously.</documentation>
   <input message="tns:deployRequest"/>
   <output message="tns:deployResponse"/>
  </operation>
  <operation name="describeMetadata">
   <documentation>Describes features of the metadata API.</documentation>
   <input message="tns:describeMetadataRequest"/>
   <output message="tns:describeMetadataResponse"/>
  </operation>
  <operation name="retrieve">
   <documentation>Retrieves a set of individually specified metadata entries.</documentation>
   <input message="tns:retrieveRequest"/>
   <output message="tns:retrieveResponse"/>
  </operation>
  <operation name="update">
   <documentation>Updates metadata entries asyncronously.</documentation>
   <input message="tns:updateRequest"/>
   <output message="tns:updateResponse"/>
  </operation>
 </portType>
 <binding name="MetadataBinding" type="tns:MetadataPortType">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="checkDeployStatus">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:header use="literal" part="DebuggingInfo" message="tns:Header"/>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="checkRetrieveStatus">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="checkStatus">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="create">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="delete">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="deploy">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="DebuggingHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="describeMetadata">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="retrieve">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="update">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:body use="literal"/>
   </output>
  </operation>
 </binding>
 <service name="MetadataService">
  <documentation>Manage your Salesforce.com metadata</documentation>
  <port binding="tns:MetadataBinding" name="Metadata">
   <soap:address location="https://na5-api.salesforce.com/services/Soap/m/13.0"/>
  </port>
 </service>
</definitions>