<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://dag.com/metacenter/schemas/common" targetNamespace="http://dag.com/metacenter/schemas/common">
	<annotation>
		<documentation>
		Collection of some utility Xsd types, elements, attribute groups etc.
		</documentation>
	</annotation>
	<attributeGroup name="auditInfo">
		<annotation>
			<documentation>
			Attribute Group for Audit Info attributes that can be reused across various complex types
			</documentation>
		</annotation>
		<attribute name="createdBy" type="string"/>
		<attribute name="createdDate" type="date"/>
		<attribute name="updatedBy" type="string"/>
		<attribute name="updatedDate" type="date"/>
	</attributeGroup>
	<attributeGroup name="linkedObjectConstraintAttrDef">
		<annotation>
			<documentation>
			Attribute Group for the constraint definition on Linked Data List Attributes
			</documentation>
		</annotation>
		<attribute name="parentObjectIds" type="string"/>
		<attribute name="objectTypeIds" type="string"/>
		<attribute name="parentObjectPath" type="string"/>
		<attribute name="selectLimit" type="long"/>
	</attributeGroup>
	<attributeGroup name="sqlAttrDef">
		<annotation>
			<documentation>
			Attribute Group for the Sql definition on Sql Attributes
			</documentation>
		</annotation>
		<attribute name="sqlConnId" type="string"/>
		<attribute name="sqlQuery" type="string"/>
	</attributeGroup>
	<attribute name="description" type="string"/>
	<attribute name="name" type="string"/>
	<attribute name="label" type="string"/>
	<complexType name="Authentication">
		<annotation>
			<documentation>
			Authentication Information for Metacenter Requests
			</documentation>
		</annotation>	
		<attribute name="userName" type="string"/>
		<attribute name="password" type="string"/>
		<attribute name="encryptedUserName" type="string"/>
		<attribute name="encryptedPassword" type="string"/>
		<attribute name="metacenterInstanceId" type="integer"/>
	</complexType>
	<element name="Fault">
		<complexType>
			<sequence>
				<element name="faultCode" type="string"/>
				<element name="faultMessage" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="auth" type="tns:Authentication"/>
	<simpleType name="SortOrder">
		<annotation>
			<documentation>
				Possible sort order
			</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="asc"/>
			<enumeration value="desc"/>
		</restriction>
	</simpleType>
     <simpleType name="DbType">
		 <annotation>
			<documentation>
			Possible Db Types in Metacenter
			</documentation>
		</annotation>
       <restriction base="string">
         <enumeration value="Oracle"/>
         <enumeration value="DB2"/>
          <enumeration value="Sql Server"/>
          <enumeration value="Teradata"/>
          <enumeration value="Netezza"/>
          <enumeration value="Informix"/>
          <enumeration value="Sybase"/>
          <enumeration value="SybaseIq"/>
        </restriction>
      </simpleType>
      <simpleType name="SimpleType">
 		 <annotation>
			<documentation>
			The "base" type of Metacenter Attribute Types
			</documentation>
		</annotation>
        <restriction base="string">
          <enumeration value="string"/>
          <enumeration value="integer"/>
           <enumeration value="decimal"/>
           <enumeration value="date"/>
           <enumeration value="datetime"/>
        </restriction>
     </simpleType>
     <simpleType name="ObjectSelectorType">
 		 <annotation>
			<documentation>
			Specifies how the Object List for metadata retrieval should be generated
			</documentation>
		</annotation>
        <restriction base="string">
          <enumeration value="objects">
			 <annotation>
				<documentation>
				Retrieves metadata for List of Object Ids as specified
				</documentation>
			</annotation>
          </enumeration>
          <enumeration value="parentchild">
			 <annotation>
				<documentation>
				Retrieves metadata for the Objects that are children of the  specified Object Ids
				</documentation>
			</annotation>      
          </enumeration>
          <enumeration value="childparent">
			 <annotation>
				<documentation>
				Retrieves metadata for the Objects that are parents of the specified Object Ids
				</documentation>
			</annotation>
          </enumeration>
        </restriction>
     </simpleType>
	 <simpleType name="ObjectKeyType">
		 <annotation>
			 <documentation>
			Restricts the length of an Object Key 
			 </documentation>
		 </annotation>
		 <restriction base="string">
			  <minLength value="1"/>
			  <maxLength value="500"/>
		</restriction>
	</simpleType>
</schema>